#
# BSD 3-Clause License
#
# Copyright (c) 2018 - 2023, Oleg Malyavkin
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
#
# * Redistributions of source code must retain the above copyright notice, this
#   list of conditions and the following disclaimer.
#
# * Redistributions in binary form must reproduce the above copyright notice,
#   this list of conditions and the following disclaimer in the documentation
#   and/or other materials provided with the distribution.
#
# * Neither the name of the copyright holder nor the names of its
#   contributors may be used to endorse or promote products derived from
#   this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

# DEBUG_TAB redefine this "  " if you need, example: const DEBUG_TAB = "\t"

const PROTO_VERSION = 2

const DEBUG_TAB : String = "  "

enum PB_ERR {
	NO_ERRORS = 0,
	VARINT_NOT_FOUND = -1,
	REPEATED_COUNT_NOT_FOUND = -2,
	REPEATED_COUNT_MISMATCH = -3,
	LENGTHDEL_SIZE_NOT_FOUND = -4,
	LENGTHDEL_SIZE_MISMATCH = -5,
	PACKAGE_SIZE_MISMATCH = -6,
	UNDEFINED_STATE = -7,
	PARSE_INCOMPLETE = -8,
	REQUIRED_FIELDS = -9
}

enum PB_DATA_TYPE {
	INT32 = 0,
	SINT32 = 1,
	UINT32 = 2,
	INT64 = 3,
	SINT64 = 4,
	UINT64 = 5,
	BOOL = 6,
	ENUM = 7,
	FIXED32 = 8,
	SFIXED32 = 9,
	FLOAT = 10,
	FIXED64 = 11,
	SFIXED64 = 12,
	DOUBLE = 13,
	STRING = 14,
	BYTES = 15,
	MESSAGE = 16,
	MAP = 17
}

const DEFAULT_VALUES_2 = {
	PB_DATA_TYPE.INT32: null,
	PB_DATA_TYPE.SINT32: null,
	PB_DATA_TYPE.UINT32: null,
	PB_DATA_TYPE.INT64: null,
	PB_DATA_TYPE.SINT64: null,
	PB_DATA_TYPE.UINT64: null,
	PB_DATA_TYPE.BOOL: null,
	PB_DATA_TYPE.ENUM: null,
	PB_DATA_TYPE.FIXED32: null,
	PB_DATA_TYPE.SFIXED32: null,
	PB_DATA_TYPE.FLOAT: null,
	PB_DATA_TYPE.FIXED64: null,
	PB_DATA_TYPE.SFIXED64: null,
	PB_DATA_TYPE.DOUBLE: null,
	PB_DATA_TYPE.STRING: null,
	PB_DATA_TYPE.BYTES: null,
	PB_DATA_TYPE.MESSAGE: null,
	PB_DATA_TYPE.MAP: null
}

const DEFAULT_VALUES_3 = {
	PB_DATA_TYPE.INT32: 0,
	PB_DATA_TYPE.SINT32: 0,
	PB_DATA_TYPE.UINT32: 0,
	PB_DATA_TYPE.INT64: 0,
	PB_DATA_TYPE.SINT64: 0,
	PB_DATA_TYPE.UINT64: 0,
	PB_DATA_TYPE.BOOL: false,
	PB_DATA_TYPE.ENUM: 0,
	PB_DATA_TYPE.FIXED32: 0,
	PB_DATA_TYPE.SFIXED32: 0,
	PB_DATA_TYPE.FLOAT: 0.0,
	PB_DATA_TYPE.FIXED64: 0,
	PB_DATA_TYPE.SFIXED64: 0,
	PB_DATA_TYPE.DOUBLE: 0.0,
	PB_DATA_TYPE.STRING: "",
	PB_DATA_TYPE.BYTES: [],
	PB_DATA_TYPE.MESSAGE: null,
	PB_DATA_TYPE.MAP: []
}

enum PB_TYPE {
	VARINT = 0,
	FIX64 = 1,
	LENGTHDEL = 2,
	STARTGROUP = 3,
	ENDGROUP = 4,
	FIX32 = 5,
	UNDEFINED = 8
}

enum PB_RULE {
	OPTIONAL = 0,
	REQUIRED = 1,
	REPEATED = 2,
	RESERVED = 3
}

enum PB_SERVICE_STATE {
	FILLED = 0,
	UNFILLED = 1
}

class PBField:
	func _init(a_name : String, a_type : int, a_rule : int, a_tag : int, packed : bool, a_value = null):
		name = a_name
		type = a_type
		rule = a_rule
		tag = a_tag
		option_packed = packed
		value = a_value
		
	var name : String
	var type : int
	var rule : int
	var tag : int
	var option_packed : bool
	var value
	var is_map_field : bool = false
	var option_default : bool = false

class PBTypeTag:
	var ok : bool = false
	var type : int
	var tag : int
	var offset : int

class PBServiceField:
	var field : PBField
	var func_ref = null
	var state : int = PB_SERVICE_STATE.UNFILLED

class PBPacker:
	static func convert_signed(n : int) -> int:
		if n < -2147483648:
			return (n << 1) ^ (n >> 63)
		else:
			return (n << 1) ^ (n >> 31)

	static func deconvert_signed(n : int) -> int:
		if n & 0x01:
			return ~(n >> 1)
		else:
			return (n >> 1)

	static func pack_varint(value) -> PackedByteArray:
		var varint : PackedByteArray = PackedByteArray()
		if typeof(value) == TYPE_BOOL:
			if value:
				value = 1
			else:
				value = 0
		for _i in range(9):
			var b = value & 0x7F
			value >>= 7
			if value:
				varint.append(b | 0x80)
			else:
				varint.append(b)
				break
		if varint.size() == 9 && (varint[8] & 0x80 != 0):
			varint.append(0x01)
		return varint

	static func pack_bytes(value, count : int, data_type : int) -> PackedByteArray:
		var bytes : PackedByteArray = PackedByteArray()
		if data_type == PB_DATA_TYPE.FLOAT:
			var spb : StreamPeerBuffer = StreamPeerBuffer.new()
			spb.put_float(value)
			bytes = spb.get_data_array()
		elif data_type == PB_DATA_TYPE.DOUBLE:
			var spb : StreamPeerBuffer = StreamPeerBuffer.new()
			spb.put_double(value)
			bytes = spb.get_data_array()
		else:
			for _i in range(count):
				bytes.append(value & 0xFF)
				value >>= 8
		return bytes

	static func unpack_bytes(bytes : PackedByteArray, index : int, count : int, data_type : int):
		var value = 0
		if data_type == PB_DATA_TYPE.FLOAT:
			var spb : StreamPeerBuffer = StreamPeerBuffer.new()
			for i in range(index, count + index):
				spb.put_u8(bytes[i])
			spb.seek(0)
			value = spb.get_float()
		elif data_type == PB_DATA_TYPE.DOUBLE:
			var spb : StreamPeerBuffer = StreamPeerBuffer.new()
			for i in range(index, count + index):
				spb.put_u8(bytes[i])
			spb.seek(0)
			value = spb.get_double()
		else:
			for i in range(index + count - 1, index - 1, -1):
				value |= (bytes[i] & 0xFF)
				if i != index:
					value <<= 8
		return value

	static func unpack_varint(varint_bytes) -> int:
		var value : int = 0
		for i in range(varint_bytes.size() - 1, -1, -1):
			value |= varint_bytes[i] & 0x7F
			if i != 0:
				value <<= 7
		return value

	static func pack_type_tag(type : int, tag : int) -> PackedByteArray:
		return pack_varint((tag << 3) | type)

	static func isolate_varint(bytes : PackedByteArray, index : int) -> PackedByteArray:
		var result : PackedByteArray = PackedByteArray()
		for i in range(index, bytes.size()):
			result.append(bytes[i])
			if !(bytes[i] & 0x80):
				break
		return result

	static func unpack_type_tag(bytes : PackedByteArray, index : int) -> PBTypeTag:
		var varint_bytes : PackedByteArray = isolate_varint(bytes, index)
		var result : PBTypeTag = PBTypeTag.new()
		if varint_bytes.size() != 0:
			result.ok = true
			result.offset = varint_bytes.size()
			var unpacked : int = unpack_varint(varint_bytes)
			result.type = unpacked & 0x07
			result.tag = unpacked >> 3
		return result

	static func pack_length_delimeted(type : int, tag : int, bytes : PackedByteArray) -> PackedByteArray:
		var result : PackedByteArray = pack_type_tag(type, tag)
		result.append_array(pack_varint(bytes.size()))
		result.append_array(bytes)
		return result

	static func pb_type_from_data_type(data_type : int) -> int:
		if data_type == PB_DATA_TYPE.INT32 || data_type == PB_DATA_TYPE.SINT32 || data_type == PB_DATA_TYPE.UINT32 || data_type == PB_DATA_TYPE.INT64 || data_type == PB_DATA_TYPE.SINT64 || data_type == PB_DATA_TYPE.UINT64 || data_type == PB_DATA_TYPE.BOOL || data_type == PB_DATA_TYPE.ENUM:
			return PB_TYPE.VARINT
		elif data_type == PB_DATA_TYPE.FIXED32 || data_type == PB_DATA_TYPE.SFIXED32 || data_type == PB_DATA_TYPE.FLOAT:
			return PB_TYPE.FIX32
		elif data_type == PB_DATA_TYPE.FIXED64 || data_type == PB_DATA_TYPE.SFIXED64 || data_type == PB_DATA_TYPE.DOUBLE:
			return PB_TYPE.FIX64
		elif data_type == PB_DATA_TYPE.STRING || data_type == PB_DATA_TYPE.BYTES || data_type == PB_DATA_TYPE.MESSAGE || data_type == PB_DATA_TYPE.MAP:
			return PB_TYPE.LENGTHDEL
		else:
			return PB_TYPE.UNDEFINED

	static func pack_field(field : PBField) -> PackedByteArray:
		var type : int = pb_type_from_data_type(field.type)
		var type_copy : int = type
		if field.rule == PB_RULE.REPEATED && field.option_packed:
			type = PB_TYPE.LENGTHDEL
		var head : PackedByteArray = pack_type_tag(type, field.tag)
		var data : PackedByteArray = PackedByteArray()
		if type == PB_TYPE.VARINT:
			var value
			if field.rule == PB_RULE.REPEATED:
				for v in field.value:
					data.append_array(head)
					if field.type == PB_DATA_TYPE.SINT32 || field.type == PB_DATA_TYPE.SINT64:
						value = convert_signed(v)
					else:
						value = v
					data.append_array(pack_varint(value))
				return data
			else:
				if field.type == PB_DATA_TYPE.SINT32 || field.type == PB_DATA_TYPE.SINT64:
					value = convert_signed(field.value)
				else:
					value = field.value
				data = pack_varint(value)
		elif type == PB_TYPE.FIX32:
			if field.rule == PB_RULE.REPEATED:
				for v in field.value:
					data.append_array(head)
					data.append_array(pack_bytes(v, 4, field.type))
				return data
			else:
				data.append_array(pack_bytes(field.value, 4, field.type))
		elif type == PB_TYPE.FIX64:
			if field.rule == PB_RULE.REPEATED:
				for v in field.value:
					data.append_array(head)
					data.append_array(pack_bytes(v, 8, field.type))
				return data
			else:
				data.append_array(pack_bytes(field.value, 8, field.type))
		elif type == PB_TYPE.LENGTHDEL:
			if field.rule == PB_RULE.REPEATED:
				if type_copy == PB_TYPE.VARINT:
					if field.type == PB_DATA_TYPE.SINT32 || field.type == PB_DATA_TYPE.SINT64:
						var signed_value : int
						for v in field.value:
							signed_value = convert_signed(v)
							data.append_array(pack_varint(signed_value))
					else:
						for v in field.value:
							data.append_array(pack_varint(v))
					return pack_length_delimeted(type, field.tag, data)
				elif type_copy == PB_TYPE.FIX32:
					for v in field.value:
						data.append_array(pack_bytes(v, 4, field.type))
					return pack_length_delimeted(type, field.tag, data)
				elif type_copy == PB_TYPE.FIX64:
					for v in field.value:
						data.append_array(pack_bytes(v, 8, field.type))
					return pack_length_delimeted(type, field.tag, data)
				elif field.type == PB_DATA_TYPE.STRING:
					for v in field.value:
						var obj = v.to_utf8_buffer()
						data.append_array(pack_length_delimeted(type, field.tag, obj))
					return data
				elif field.type == PB_DATA_TYPE.BYTES:
					for v in field.value:
						data.append_array(pack_length_delimeted(type, field.tag, v))
					return data
				elif typeof(field.value[0]) == TYPE_OBJECT:
					for v in field.value:
						var obj : PackedByteArray = v.to_bytes()
						data.append_array(pack_length_delimeted(type, field.tag, obj))
					return data
			else:
				if field.type == PB_DATA_TYPE.STRING:
					var str_bytes : PackedByteArray = field.value.to_utf8_buffer()
					if PROTO_VERSION == 2 || (PROTO_VERSION == 3 && str_bytes.size() > 0):
						data.append_array(str_bytes)
						return pack_length_delimeted(type, field.tag, data)
				if field.type == PB_DATA_TYPE.BYTES:
					if PROTO_VERSION == 2 || (PROTO_VERSION == 3 && field.value.size() > 0):
						data.append_array(field.value)
						return pack_length_delimeted(type, field.tag, data)
				elif typeof(field.value) == TYPE_OBJECT:
					var obj : PackedByteArray = field.value.to_bytes()
					if obj.size() > 0:
						data.append_array(obj)
					return pack_length_delimeted(type, field.tag, data)
				else:
					pass
		if data.size() > 0:
			head.append_array(data)
			return head
		else:
			return data

	static func skip_unknown_field(bytes : PackedByteArray, offset : int, type : int) -> int:
		if type == PB_TYPE.VARINT:
			return offset + isolate_varint(bytes, offset).size()
		if type == PB_TYPE.FIX64:
			return offset + 8
		if type == PB_TYPE.LENGTHDEL:
			var length_bytes : PackedByteArray = isolate_varint(bytes, offset)
			var length : int = unpack_varint(length_bytes)
			return offset + length_bytes.size() + length
		if type == PB_TYPE.FIX32:
			return offset + 4
		return PB_ERR.UNDEFINED_STATE

	static func unpack_field(bytes : PackedByteArray, offset : int, field : PBField, type : int, message_func_ref) -> int:
		if field.rule == PB_RULE.REPEATED && type != PB_TYPE.LENGTHDEL && field.option_packed:
			var count = isolate_varint(bytes, offset)
			if count.size() > 0:
				offset += count.size()
				count = unpack_varint(count)
				if type == PB_TYPE.VARINT:
					var val
					var counter = offset + count
					while offset < counter:
						val = isolate_varint(bytes, offset)
						if val.size() > 0:
							offset += val.size()
							val = unpack_varint(val)
							if field.type == PB_DATA_TYPE.SINT32 || field.type == PB_DATA_TYPE.SINT64:
								val = deconvert_signed(val)
							elif field.type == PB_DATA_TYPE.BOOL:
								if val:
									val = true
								else:
									val = false
							field.value.append(val)
						else:
							return PB_ERR.REPEATED_COUNT_MISMATCH
					return offset
				elif type == PB_TYPE.FIX32 || type == PB_TYPE.FIX64:
					var type_size
					if type == PB_TYPE.FIX32:
						type_size = 4
					else:
						type_size = 8
					var val
					var counter = offset + count
					while offset < counter:
						if (offset + type_size) > bytes.size():
							return PB_ERR.REPEATED_COUNT_MISMATCH
						val = unpack_bytes(bytes, offset, type_size, field.type)
						offset += type_size
						field.value.append(val)
					return offset
			else:
				return PB_ERR.REPEATED_COUNT_NOT_FOUND
		else:
			if type == PB_TYPE.VARINT:
				var val = isolate_varint(bytes, offset)
				if val.size() > 0:
					offset += val.size()
					val = unpack_varint(val)
					if field.type == PB_DATA_TYPE.SINT32 || field.type == PB_DATA_TYPE.SINT64:
						val = deconvert_signed(val)
					elif field.type == PB_DATA_TYPE.BOOL:
						if val:
							val = true
						else:
							val = false
					if field.rule == PB_RULE.REPEATED:
						field.value.append(val)
					else:
						field.value = val
				else:
					return PB_ERR.VARINT_NOT_FOUND
				return offset
			elif type == PB_TYPE.FIX32 || type == PB_TYPE.FIX64:
				var type_size
				if type == PB_TYPE.FIX32:
					type_size = 4
				else:
					type_size = 8
				var val
				if (offset + type_size) > bytes.size():
					return PB_ERR.REPEATED_COUNT_MISMATCH
				val = unpack_bytes(bytes, offset, type_size, field.type)
				offset += type_size
				if field.rule == PB_RULE.REPEATED:
					field.value.append(val)
				else:
					field.value = val
				return offset
			elif type == PB_TYPE.LENGTHDEL:
				var inner_size = isolate_varint(bytes, offset)
				if inner_size.size() > 0:
					offset += inner_size.size()
					inner_size = unpack_varint(inner_size)
					if inner_size >= 0:
						if inner_size + offset > bytes.size():
							return PB_ERR.LENGTHDEL_SIZE_MISMATCH
						if message_func_ref != null:
							var message = message_func_ref.call()
							if inner_size > 0:
								var sub_offset = message.from_bytes(bytes, offset, inner_size + offset)
								if sub_offset > 0:
									if sub_offset - offset >= inner_size:
										offset = sub_offset
										return offset
									else:
										return PB_ERR.LENGTHDEL_SIZE_MISMATCH
								return sub_offset
							else:
								return offset
						elif field.type == PB_DATA_TYPE.STRING:
							var str_bytes : PackedByteArray = PackedByteArray()
							for i in range(offset, inner_size + offset):
								str_bytes.append(bytes[i])
							if field.rule == PB_RULE.REPEATED:
								field.value.append(str_bytes.get_string_from_utf8())
							else:
								field.value = str_bytes.get_string_from_utf8()
							return offset + inner_size
						elif field.type == PB_DATA_TYPE.BYTES:
							var val_bytes : PackedByteArray = PackedByteArray()
							for i in range(offset, inner_size + offset):
								val_bytes.append(bytes[i])
							if field.rule == PB_RULE.REPEATED:
								field.value.append(val_bytes)
							else:
								field.value = val_bytes
							return offset + inner_size
					else:
						return PB_ERR.LENGTHDEL_SIZE_NOT_FOUND
				else:
					return PB_ERR.LENGTHDEL_SIZE_NOT_FOUND
		return PB_ERR.UNDEFINED_STATE

	static func unpack_message(data, bytes : PackedByteArray, offset : int, limit : int) -> int:
		while true:
			var tt : PBTypeTag = unpack_type_tag(bytes, offset)
			if tt.ok:
				offset += tt.offset
				if data.has(tt.tag):
					var service : PBServiceField = data[tt.tag]
					var type : int = pb_type_from_data_type(service.field.type)
					if type == tt.type || (tt.type == PB_TYPE.LENGTHDEL && service.field.rule == PB_RULE.REPEATED && service.field.option_packed):
						var res : int = unpack_field(bytes, offset, service.field, type, service.func_ref)
						if res > 0:
							service.state = PB_SERVICE_STATE.FILLED
							offset = res
							if offset == limit:
								return offset
							elif offset > limit:
								return PB_ERR.PACKAGE_SIZE_MISMATCH
						elif res < 0:
							return res
						else:
							break
				else:
					var res : int = skip_unknown_field(bytes, offset, tt.type)
					if res > 0:
						offset = res
						if offset == limit:
							return offset
						elif offset > limit:
							return PB_ERR.PACKAGE_SIZE_MISMATCH
					elif res < 0:
						return res
					else:
						break							
			else:
				return offset
		return PB_ERR.UNDEFINED_STATE

	static func pack_message(data) -> PackedByteArray:
		var DEFAULT_VALUES
		if PROTO_VERSION == 2:
			DEFAULT_VALUES = DEFAULT_VALUES_2
		elif PROTO_VERSION == 3:
			DEFAULT_VALUES = DEFAULT_VALUES_3
		var result : PackedByteArray = PackedByteArray()
		var keys : Array = data.keys()
		keys.sort()
		for i in keys:
			if data[i].field.value != null:
				if data[i].state == PB_SERVICE_STATE.UNFILLED \
				&& !data[i].field.is_map_field \
				&& typeof(data[i].field.value) == typeof(DEFAULT_VALUES[data[i].field.type]) \
				&& data[i].field.value == DEFAULT_VALUES[data[i].field.type]:
					continue
				elif data[i].field.rule == PB_RULE.REPEATED && data[i].field.value.size() == 0:
					continue
				result.append_array(pack_field(data[i].field))
			elif data[i].field.rule == PB_RULE.REQUIRED:
				print("Error: required field is not filled: Tag:", data[i].field.tag)
				return PackedByteArray()
		return result

	static func check_required(data) -> bool:
		var keys : Array = data.keys()
		for i in keys:
			if data[i].field.rule == PB_RULE.REQUIRED && data[i].state == PB_SERVICE_STATE.UNFILLED:
				return false
		return true

	static func construct_map(key_values):
		var result = {}
		for kv in key_values:
			result[kv.get_key()] = kv.get_value()
		return result
	
	static func tabulate(text : String, nesting : int) -> String:
		var tab : String = ""
		for _i in range(nesting):
			tab += DEBUG_TAB
		return tab + text
	
	static func value_to_string(value, field : PBField, nesting : int) -> String:
		var result : String = ""
		var text : String
		if field.type == PB_DATA_TYPE.MESSAGE:
			result += "{"
			nesting += 1
			text = message_to_string(value.data, nesting)
			if text != "":
				result += "\n" + text
				nesting -= 1
				result += tabulate("}", nesting)
			else:
				nesting -= 1
				result += "}"
		elif field.type == PB_DATA_TYPE.BYTES:
			result += "<"
			for i in range(value.size()):
				result += str(value[i])
				if i != (value.size() - 1):
					result += ", "
			result += ">"
		elif field.type == PB_DATA_TYPE.STRING:
			result += "\"" + value + "\""
		elif field.type == PB_DATA_TYPE.ENUM:
			result += "ENUM::" + str(value)
		else:
			result += str(value)
		return result
	
	static func field_to_string(field : PBField, nesting : int) -> String:
		var result : String = tabulate(field.name + ": ", nesting)
		if field.type == PB_DATA_TYPE.MAP:
			if field.value.size() > 0:
				result += "(\n"
				nesting += 1
				for i in range(field.value.size()):
					var local_key_value = field.value[i].data[1].field
					result += tabulate(value_to_string(local_key_value.value, local_key_value, nesting), nesting) + ": "
					local_key_value = field.value[i].data[2].field
					result += value_to_string(local_key_value.value, local_key_value, nesting)
					if i != (field.value.size() - 1):
						result += ","
					result += "\n"
				nesting -= 1
				result += tabulate(")", nesting)
			else:
				result += "()"
		elif field.rule == PB_RULE.REPEATED:
			if field.value.size() > 0:
				result += "[\n"
				nesting += 1
				for i in range(field.value.size()):
					result += tabulate(str(i) + ": ", nesting)
					result += value_to_string(field.value[i], field, nesting)
					if i != (field.value.size() - 1):
						result += ","
					result += "\n"
				nesting -= 1
				result += tabulate("]", nesting)
			else:
				result += "[]"
		else:
			result += value_to_string(field.value, field, nesting)
		result += ";\n"
		return result
		
	static func message_to_string(data, nesting : int = 0) -> String:
		var DEFAULT_VALUES
		if PROTO_VERSION == 2:
			DEFAULT_VALUES = DEFAULT_VALUES_2
		elif PROTO_VERSION == 3:
			DEFAULT_VALUES = DEFAULT_VALUES_3
		var result : String = ""
		var keys : Array = data.keys()
		keys.sort()
		for i in keys:
			if data[i].field.value != null:
				if data[i].state == PB_SERVICE_STATE.UNFILLED \
				&& !data[i].field.is_map_field \
				&& typeof(data[i].field.value) == typeof(DEFAULT_VALUES[data[i].field.type]) \
				&& data[i].field.value == DEFAULT_VALUES[data[i].field.type]:
					continue
				elif data[i].field.rule == PB_RULE.REPEATED && data[i].field.value.size() == 0:
					continue
				result += field_to_string(data[i].field, nesting)
			elif data[i].field.rule == PB_RULE.REQUIRED:
				result += data[i].field.name + ": " + "error"
		return result



############### USER DATA BEGIN ################


class MsgPlayerId:

	static var proto_name = "MsgPlayerId" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__dId = PBField.new("dId", PB_DATA_TYPE.DOUBLE, PB_RULE.OPTIONAL, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __dId
		data[__dId.tag] = service
		
		__strName = PBField.new("strName", PB_DATA_TYPE.STRING, PB_RULE.OPTIONAL, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.STRING])
		service = PBServiceField.new()
		service.field = __strName
		data[__strName.tag] = service
		
	var data = {}
	
	var __dId: PBField
	func has_dId() -> bool:
		if __dId.value != null:
			return true
		return false
	func get_dId() -> float:
		return __dId.value
	func clear_dId() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__dId.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_dId(value : float) -> void:
		__dId.value = value
	
	var __strName: PBField
	func has_strName() -> bool:
		if __strName.value != null:
			return true
		return false
	func get_strName() -> String:
		return __strName.value
	func clear_strName() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__strName.value = DEFAULT_VALUES_2[PB_DATA_TYPE.STRING]
	func set_strName(value : String) -> void:
		__strName.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class CloseFunctionType:

	static var proto_name = "CloseFunctionType" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		var __functionType_default: Array[String] = []
		__functionType = PBField.new("functionType", PB_DATA_TYPE.STRING, PB_RULE.REPEATED, 1, false, __functionType_default)
		service = PBServiceField.new()
		service.field = __functionType
		data[__functionType.tag] = service
		
	var data = {}
	
	var __functionType: PBField
	func get_functionType() -> Array[String]:
		return __functionType.value
	func clear_functionType() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__functionType.value.clear()
	func add_functionType(value : String) -> void:
		__functionType.value.append(value)
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class C2S_CheckInteraction:

	static var proto_name = "C2S_CheckInteraction" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nStage = PBField.new("nStage", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nStage
		data[__nStage.tag] = service
		
		__nObjectUUID = PBField.new("nObjectUUID", PB_DATA_TYPE.INT64, PB_RULE.OPTIONAL, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT64])
		service = PBServiceField.new()
		service.field = __nObjectUUID
		data[__nObjectUUID.tag] = service
		
		__nObjectType = PBField.new("nObjectType", PB_DATA_TYPE.INT32, PB_RULE.OPTIONAL, 3, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nObjectType
		data[__nObjectType.tag] = service
		
		__nNetID = PBField.new("nNetID", PB_DATA_TYPE.INT32, PB_RULE.OPTIONAL, 4, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nNetID
		data[__nNetID.tag] = service
		
	var data = {}
	
	var __nStage: PBField
	func get_nStage() -> int:
		return __nStage.value
	func clear_nStage() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nStage.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nStage(value : int) -> void:
		__nStage.value = value
	
	var __nObjectUUID: PBField
	func has_nObjectUUID() -> bool:
		if __nObjectUUID.value != null:
			return true
		return false
	func get_nObjectUUID() -> int:
		return __nObjectUUID.value
	func clear_nObjectUUID() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__nObjectUUID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT64]
	func set_nObjectUUID(value : int) -> void:
		__nObjectUUID.value = value
	
	var __nObjectType: PBField
	func has_nObjectType() -> bool:
		if __nObjectType.value != null:
			return true
		return false
	func get_nObjectType() -> int:
		return __nObjectType.value
	func clear_nObjectType() -> void:
		data[3].state = PB_SERVICE_STATE.UNFILLED
		__nObjectType.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nObjectType(value : int) -> void:
		__nObjectType.value = value
	
	var __nNetID: PBField
	func has_nNetID() -> bool:
		if __nNetID.value != null:
			return true
		return false
	func get_nNetID() -> int:
		return __nNetID.value
	func clear_nNetID() -> void:
		data[4].state = PB_SERVICE_STATE.UNFILLED
		__nNetID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nNetID(value : int) -> void:
		__nNetID.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S2C_InteractionResult:

	static var proto_name = "S2C_InteractionResult" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__strActionEvent = PBField.new("strActionEvent", PB_DATA_TYPE.STRING, PB_RULE.OPTIONAL, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.STRING])
		service = PBServiceField.new()
		service.field = __strActionEvent
		data[__strActionEvent.tag] = service
		
	var data = {}
	
	var __strActionEvent: PBField
	func has_strActionEvent() -> bool:
		if __strActionEvent.value != null:
			return true
		return false
	func get_strActionEvent() -> String:
		return __strActionEvent.value
	func clear_strActionEvent() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__strActionEvent.value = DEFAULT_VALUES_2[PB_DATA_TYPE.STRING]
	func set_strActionEvent(value : String) -> void:
		__strActionEvent.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class C2S_MonterInteraction:

	static var proto_name = "C2S_MonterInteraction" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nObjectUUID = PBField.new("nObjectUUID", PB_DATA_TYPE.INT64, PB_RULE.OPTIONAL, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT64])
		service = PBServiceField.new()
		service.field = __nObjectUUID
		data[__nObjectUUID.tag] = service
		
		__nObjectType = PBField.new("nObjectType", PB_DATA_TYPE.INT32, PB_RULE.OPTIONAL, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nObjectType
		data[__nObjectType.tag] = service
		
		__nNetID = PBField.new("nNetID", PB_DATA_TYPE.INT32, PB_RULE.OPTIONAL, 3, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nNetID
		data[__nNetID.tag] = service
		
		__nselectID = PBField.new("nselectID", PB_DATA_TYPE.INT32, PB_RULE.OPTIONAL, 4, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nselectID
		data[__nselectID.tag] = service
		
		__nLocalId = PBField.new("nLocalId", PB_DATA_TYPE.INT32, PB_RULE.OPTIONAL, 5, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nLocalId
		data[__nLocalId.tag] = service
		
		__fPosX = PBField.new("fPosX", PB_DATA_TYPE.FLOAT, PB_RULE.OPTIONAL, 6, false, DEFAULT_VALUES_2[PB_DATA_TYPE.FLOAT])
		service = PBServiceField.new()
		service.field = __fPosX
		data[__fPosX.tag] = service
		
		__fPosY = PBField.new("fPosY", PB_DATA_TYPE.FLOAT, PB_RULE.OPTIONAL, 7, false, DEFAULT_VALUES_2[PB_DATA_TYPE.FLOAT])
		service = PBServiceField.new()
		service.field = __fPosY
		data[__fPosY.tag] = service
		
	var data = {}
	
	var __nObjectUUID: PBField
	func has_nObjectUUID() -> bool:
		if __nObjectUUID.value != null:
			return true
		return false
	func get_nObjectUUID() -> int:
		return __nObjectUUID.value
	func clear_nObjectUUID() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nObjectUUID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT64]
	func set_nObjectUUID(value : int) -> void:
		__nObjectUUID.value = value
	
	var __nObjectType: PBField
	func has_nObjectType() -> bool:
		if __nObjectType.value != null:
			return true
		return false
	func get_nObjectType() -> int:
		return __nObjectType.value
	func clear_nObjectType() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__nObjectType.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nObjectType(value : int) -> void:
		__nObjectType.value = value
	
	var __nNetID: PBField
	func has_nNetID() -> bool:
		if __nNetID.value != null:
			return true
		return false
	func get_nNetID() -> int:
		return __nNetID.value
	func clear_nNetID() -> void:
		data[3].state = PB_SERVICE_STATE.UNFILLED
		__nNetID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nNetID(value : int) -> void:
		__nNetID.value = value
	
	var __nselectID: PBField
	func has_nselectID() -> bool:
		if __nselectID.value != null:
			return true
		return false
	func get_nselectID() -> int:
		return __nselectID.value
	func clear_nselectID() -> void:
		data[4].state = PB_SERVICE_STATE.UNFILLED
		__nselectID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nselectID(value : int) -> void:
		__nselectID.value = value
	
	var __nLocalId: PBField
	func has_nLocalId() -> bool:
		if __nLocalId.value != null:
			return true
		return false
	func get_nLocalId() -> int:
		return __nLocalId.value
	func clear_nLocalId() -> void:
		data[5].state = PB_SERVICE_STATE.UNFILLED
		__nLocalId.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nLocalId(value : int) -> void:
		__nLocalId.value = value
	
	var __fPosX: PBField
	func has_fPosX() -> bool:
		if __fPosX.value != null:
			return true
		return false
	func get_fPosX() -> float:
		return __fPosX.value
	func clear_fPosX() -> void:
		data[6].state = PB_SERVICE_STATE.UNFILLED
		__fPosX.value = DEFAULT_VALUES_2[PB_DATA_TYPE.FLOAT]
	func set_fPosX(value : float) -> void:
		__fPosX.value = value
	
	var __fPosY: PBField
	func has_fPosY() -> bool:
		if __fPosY.value != null:
			return true
		return false
	func get_fPosY() -> float:
		return __fPosY.value
	func clear_fPosY() -> void:
		data[7].state = PB_SERVICE_STATE.UNFILLED
		__fPosY.value = DEFAULT_VALUES_2[PB_DATA_TYPE.FLOAT]
	func set_fPosY(value : float) -> void:
		__fPosY.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S2C_SetAnimType:

	static var proto_name = "S2C_SetAnimType" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nObjectUUID = PBField.new("nObjectUUID", PB_DATA_TYPE.INT64, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT64])
		service = PBServiceField.new()
		service.field = __nObjectUUID
		data[__nObjectUUID.tag] = service
		
		__eType = PBField.new("eType", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __eType
		data[__eType.tag] = service
		
		__nStartFrame = PBField.new("nStartFrame", PB_DATA_TYPE.INT32, PB_RULE.OPTIONAL, 3, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nStartFrame
		data[__nStartFrame.tag] = service
		
		__nEndFrame = PBField.new("nEndFrame", PB_DATA_TYPE.INT32, PB_RULE.OPTIONAL, 4, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nEndFrame
		data[__nEndFrame.tag] = service
		
		__eNextLoopType = PBField.new("eNextLoopType", PB_DATA_TYPE.INT32, PB_RULE.OPTIONAL, 5, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __eNextLoopType
		data[__eNextLoopType.tag] = service
		
		__nNextStartFrame = PBField.new("nNextStartFrame", PB_DATA_TYPE.INT32, PB_RULE.OPTIONAL, 6, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nNextStartFrame
		data[__nNextStartFrame.tag] = service
		
		__nNextEndFrame = PBField.new("nNextEndFrame", PB_DATA_TYPE.INT32, PB_RULE.OPTIONAL, 7, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nNextEndFrame
		data[__nNextEndFrame.tag] = service
		
	var data = {}
	
	var __nObjectUUID: PBField
	func get_nObjectUUID() -> int:
		return __nObjectUUID.value
	func clear_nObjectUUID() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nObjectUUID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT64]
	func set_nObjectUUID(value : int) -> void:
		__nObjectUUID.value = value
	
	var __eType: PBField
	func get_eType() -> int:
		return __eType.value
	func clear_eType() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__eType.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_eType(value : int) -> void:
		__eType.value = value
	
	var __nStartFrame: PBField
	func has_nStartFrame() -> bool:
		if __nStartFrame.value != null:
			return true
		return false
	func get_nStartFrame() -> int:
		return __nStartFrame.value
	func clear_nStartFrame() -> void:
		data[3].state = PB_SERVICE_STATE.UNFILLED
		__nStartFrame.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nStartFrame(value : int) -> void:
		__nStartFrame.value = value
	
	var __nEndFrame: PBField
	func has_nEndFrame() -> bool:
		if __nEndFrame.value != null:
			return true
		return false
	func get_nEndFrame() -> int:
		return __nEndFrame.value
	func clear_nEndFrame() -> void:
		data[4].state = PB_SERVICE_STATE.UNFILLED
		__nEndFrame.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nEndFrame(value : int) -> void:
		__nEndFrame.value = value
	
	var __eNextLoopType: PBField
	func has_eNextLoopType() -> bool:
		if __eNextLoopType.value != null:
			return true
		return false
	func get_eNextLoopType() -> int:
		return __eNextLoopType.value
	func clear_eNextLoopType() -> void:
		data[5].state = PB_SERVICE_STATE.UNFILLED
		__eNextLoopType.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_eNextLoopType(value : int) -> void:
		__eNextLoopType.value = value
	
	var __nNextStartFrame: PBField
	func has_nNextStartFrame() -> bool:
		if __nNextStartFrame.value != null:
			return true
		return false
	func get_nNextStartFrame() -> int:
		return __nNextStartFrame.value
	func clear_nNextStartFrame() -> void:
		data[6].state = PB_SERVICE_STATE.UNFILLED
		__nNextStartFrame.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nNextStartFrame(value : int) -> void:
		__nNextStartFrame.value = value
	
	var __nNextEndFrame: PBField
	func has_nNextEndFrame() -> bool:
		if __nNextEndFrame.value != null:
			return true
		return false
	func get_nNextEndFrame() -> int:
		return __nNextEndFrame.value
	func clear_nNextEndFrame() -> void:
		data[7].state = PB_SERVICE_STATE.UNFILLED
		__nNextEndFrame.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nNextEndFrame(value : int) -> void:
		__nNextEndFrame.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S2C_AddEffect:

	static var proto_name = "S2C_AddEffect" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nObjectUUID = PBField.new("nObjectUUID", PB_DATA_TYPE.INT64, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT64])
		service = PBServiceField.new()
		service.field = __nObjectUUID
		data[__nObjectUUID.tag] = service
		
		__strFxName = PBField.new("strFxName", PB_DATA_TYPE.STRING, PB_RULE.REQUIRED, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.STRING])
		service = PBServiceField.new()
		service.field = __strFxName
		data[__strFxName.tag] = service
		
		__xOffset = PBField.new("xOffset", PB_DATA_TYPE.FLOAT, PB_RULE.OPTIONAL, 3, false, DEFAULT_VALUES_2[PB_DATA_TYPE.FLOAT])
		service = PBServiceField.new()
		service.field = __xOffset
		data[__xOffset.tag] = service
		
		__yOffset = PBField.new("yOffset", PB_DATA_TYPE.FLOAT, PB_RULE.OPTIONAL, 4, false, DEFAULT_VALUES_2[PB_DATA_TYPE.FLOAT])
		service = PBServiceField.new()
		service.field = __yOffset
		data[__yOffset.tag] = service
		
		__fAutoDestroyTime = PBField.new("fAutoDestroyTime", PB_DATA_TYPE.FLOAT, PB_RULE.OPTIONAL, 5, false, DEFAULT_VALUES_2[PB_DATA_TYPE.FLOAT])
		service = PBServiceField.new()
		service.field = __fAutoDestroyTime
		data[__fAutoDestroyTime.tag] = service
		
	var data = {}
	
	var __nObjectUUID: PBField
	func get_nObjectUUID() -> int:
		return __nObjectUUID.value
	func clear_nObjectUUID() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nObjectUUID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT64]
	func set_nObjectUUID(value : int) -> void:
		__nObjectUUID.value = value
	
	var __strFxName: PBField
	func get_strFxName() -> String:
		return __strFxName.value
	func clear_strFxName() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__strFxName.value = DEFAULT_VALUES_2[PB_DATA_TYPE.STRING]
	func set_strFxName(value : String) -> void:
		__strFxName.value = value
	
	var __xOffset: PBField
	func has_xOffset() -> bool:
		if __xOffset.value != null:
			return true
		return false
	func get_xOffset() -> float:
		return __xOffset.value
	func clear_xOffset() -> void:
		data[3].state = PB_SERVICE_STATE.UNFILLED
		__xOffset.value = DEFAULT_VALUES_2[PB_DATA_TYPE.FLOAT]
	func set_xOffset(value : float) -> void:
		__xOffset.value = value
	
	var __yOffset: PBField
	func has_yOffset() -> bool:
		if __yOffset.value != null:
			return true
		return false
	func get_yOffset() -> float:
		return __yOffset.value
	func clear_yOffset() -> void:
		data[4].state = PB_SERVICE_STATE.UNFILLED
		__yOffset.value = DEFAULT_VALUES_2[PB_DATA_TYPE.FLOAT]
	func set_yOffset(value : float) -> void:
		__yOffset.value = value
	
	var __fAutoDestroyTime: PBField
	func has_fAutoDestroyTime() -> bool:
		if __fAutoDestroyTime.value != null:
			return true
		return false
	func get_fAutoDestroyTime() -> float:
		return __fAutoDestroyTime.value
	func clear_fAutoDestroyTime() -> void:
		data[5].state = PB_SERVICE_STATE.UNFILLED
		__fAutoDestroyTime.value = DEFAULT_VALUES_2[PB_DATA_TYPE.FLOAT]
	func set_fAutoDestroyTime(value : float) -> void:
		__fAutoDestroyTime.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class C2S_InteractionMsg:

	static var proto_name = "C2S_InteractionMsg" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nMsgID = PBField.new("nMsgID", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nMsgID
		data[__nMsgID.tag] = service
		
		__byData = PBField.new("byData", PB_DATA_TYPE.BYTES, PB_RULE.REQUIRED, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.BYTES])
		service = PBServiceField.new()
		service.field = __byData
		data[__byData.tag] = service
		
	var data = {}
	
	var __nMsgID: PBField
	func get_nMsgID() -> int:
		return __nMsgID.value
	func clear_nMsgID() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nMsgID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nMsgID(value : int) -> void:
		__nMsgID.value = value
	
	var __byData: PBField
	func get_byData() -> PackedByteArray:
		return __byData.value
	func clear_byData() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__byData.value = DEFAULT_VALUES_2[PB_DATA_TYPE.BYTES]
	func set_byData(value : PackedByteArray) -> void:
		__byData.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class ChatPlayerId:

	static var proto_name = "ChatPlayerId" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__dId = PBField.new("dId", PB_DATA_TYPE.DOUBLE, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __dId
		data[__dId.tag] = service
		
		__strName = PBField.new("strName", PB_DATA_TYPE.STRING, PB_RULE.REQUIRED, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.STRING])
		service = PBServiceField.new()
		service.field = __strName
		data[__strName.tag] = service
		
		__nLine = PBField.new("nLine", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 3, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nLine
		data[__nLine.tag] = service
		
		__nLevel = PBField.new("nLevel", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 4, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nLevel
		data[__nLevel.tag] = service
		
		__nIcon = PBField.new("nIcon", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 5, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nIcon
		data[__nIcon.tag] = service
		
	var data = {}
	
	var __dId: PBField
	func get_dId() -> float:
		return __dId.value
	func clear_dId() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__dId.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_dId(value : float) -> void:
		__dId.value = value
	
	var __strName: PBField
	func get_strName() -> String:
		return __strName.value
	func clear_strName() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__strName.value = DEFAULT_VALUES_2[PB_DATA_TYPE.STRING]
	func set_strName(value : String) -> void:
		__strName.value = value
	
	var __nLine: PBField
	func get_nLine() -> int:
		return __nLine.value
	func clear_nLine() -> void:
		data[3].state = PB_SERVICE_STATE.UNFILLED
		__nLine.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nLine(value : int) -> void:
		__nLine.value = value
	
	var __nLevel: PBField
	func get_nLevel() -> int:
		return __nLevel.value
	func clear_nLevel() -> void:
		data[4].state = PB_SERVICE_STATE.UNFILLED
		__nLevel.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nLevel(value : int) -> void:
		__nLevel.value = value
	
	var __nIcon: PBField
	func get_nIcon() -> int:
		return __nIcon.value
	func clear_nIcon() -> void:
		data[5].state = PB_SERVICE_STATE.UNFILLED
		__nIcon.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nIcon(value : int) -> void:
		__nIcon.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class MsgChatInfo:

	static var proto_name = "MsgChatInfo" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__msgSender = PBField.new("msgSender", PB_DATA_TYPE.MESSAGE, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.MESSAGE])
		service = PBServiceField.new()
		service.field = __msgSender
		service.func_ref = Callable(self, "new_msgSender")
		data[__msgSender.tag] = service
		
		__senderClassSlot = PBField.new("senderClassSlot", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __senderClassSlot
		data[__senderClassSlot.tag] = service
		
		__msgTarget = PBField.new("msgTarget", PB_DATA_TYPE.MESSAGE, PB_RULE.REQUIRED, 3, false, DEFAULT_VALUES_2[PB_DATA_TYPE.MESSAGE])
		service = PBServiceField.new()
		service.field = __msgTarget
		service.func_ref = Callable(self, "new_msgTarget")
		data[__msgTarget.tag] = service
		
		__nChannelType = PBField.new("nChannelType", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 4, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nChannelType
		data[__nChannelType.tag] = service
		
		__strContent = PBField.new("strContent", PB_DATA_TYPE.STRING, PB_RULE.REQUIRED, 6, false, DEFAULT_VALUES_2[PB_DATA_TYPE.STRING])
		service = PBServiceField.new()
		service.field = __strContent
		data[__strContent.tag] = service
		
	var data = {}
	
	var __msgSender: PBField
	func get_msgSender() -> ChatPlayerId:
		return __msgSender.value
	func clear_msgSender() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__msgSender.value = DEFAULT_VALUES_2[PB_DATA_TYPE.MESSAGE]
	func new_msgSender() -> ChatPlayerId:
		__msgSender.value = ChatPlayerId.new()
		return __msgSender.value
	
	var __senderClassSlot: PBField
	func get_senderClassSlot() -> int:
		return __senderClassSlot.value
	func clear_senderClassSlot() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__senderClassSlot.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_senderClassSlot(value : int) -> void:
		__senderClassSlot.value = value
	
	var __msgTarget: PBField
	func get_msgTarget() -> MsgPlayerId:
		return __msgTarget.value
	func clear_msgTarget() -> void:
		data[3].state = PB_SERVICE_STATE.UNFILLED
		__msgTarget.value = DEFAULT_VALUES_2[PB_DATA_TYPE.MESSAGE]
	func new_msgTarget() -> MsgPlayerId:
		__msgTarget.value = MsgPlayerId.new()
		return __msgTarget.value
	
	var __nChannelType: PBField
	func get_nChannelType() -> int:
		return __nChannelType.value
	func clear_nChannelType() -> void:
		data[4].state = PB_SERVICE_STATE.UNFILLED
		__nChannelType.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nChannelType(value : int) -> void:
		__nChannelType.value = value
	
	var __strContent: PBField
	func get_strContent() -> String:
		return __strContent.value
	func clear_strContent() -> void:
		data[6].state = PB_SERVICE_STATE.UNFILLED
		__strContent.value = DEFAULT_VALUES_2[PB_DATA_TYPE.STRING]
	func set_strContent(value : String) -> void:
		__strContent.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class C2S_ChatMsg:

	static var proto_name = "C2S_ChatMsg" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__chatInfo = PBField.new("chatInfo", PB_DATA_TYPE.MESSAGE, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.MESSAGE])
		service = PBServiceField.new()
		service.field = __chatInfo
		service.func_ref = Callable(self, "new_chatInfo")
		data[__chatInfo.tag] = service
		
	var data = {}
	
	var __chatInfo: PBField
	func get_chatInfo() -> MsgChatInfo:
		return __chatInfo.value
	func clear_chatInfo() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__chatInfo.value = DEFAULT_VALUES_2[PB_DATA_TYPE.MESSAGE]
	func new_chatInfo() -> MsgChatInfo:
		__chatInfo.value = MsgChatInfo.new()
		return __chatInfo.value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class C2S_ChatMsgRespone:

	static var proto_name = "C2S_ChatMsgRespone" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__chatInfo = PBField.new("chatInfo", PB_DATA_TYPE.MESSAGE, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.MESSAGE])
		service = PBServiceField.new()
		service.field = __chatInfo
		service.func_ref = Callable(self, "new_chatInfo")
		data[__chatInfo.tag] = service
		
		__nRetCode = PBField.new("nRetCode", PB_DATA_TYPE.UINT32, PB_RULE.REQUIRED, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.UINT32])
		service = PBServiceField.new()
		service.field = __nRetCode
		data[__nRetCode.tag] = service
		
	var data = {}
	
	var __chatInfo: PBField
	func get_chatInfo() -> MsgChatInfo:
		return __chatInfo.value
	func clear_chatInfo() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__chatInfo.value = DEFAULT_VALUES_2[PB_DATA_TYPE.MESSAGE]
	func new_chatInfo() -> MsgChatInfo:
		__chatInfo.value = MsgChatInfo.new()
		return __chatInfo.value
	
	var __nRetCode: PBField
	func get_nRetCode() -> int:
		return __nRetCode.value
	func clear_nRetCode() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__nRetCode.value = DEFAULT_VALUES_2[PB_DATA_TYPE.UINT32]
	func set_nRetCode(value : int) -> void:
		__nRetCode.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S2C_ChatMsg:

	static var proto_name = "S2C_ChatMsg" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__chatInfo = PBField.new("chatInfo", PB_DATA_TYPE.MESSAGE, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.MESSAGE])
		service = PBServiceField.new()
		service.field = __chatInfo
		service.func_ref = Callable(self, "new_chatInfo")
		data[__chatInfo.tag] = service
		
	var data = {}
	
	var __chatInfo: PBField
	func get_chatInfo() -> MsgChatInfo:
		return __chatInfo.value
	func clear_chatInfo() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__chatInfo.value = DEFAULT_VALUES_2[PB_DATA_TYPE.MESSAGE]
	func new_chatInfo() -> MsgChatInfo:
		__chatInfo.value = MsgChatInfo.new()
		return __chatInfo.value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S_G2C_ChatMsg:

	static var proto_name = "S_G2C_ChatMsg" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__chatInfo = PBField.new("chatInfo", PB_DATA_TYPE.MESSAGE, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.MESSAGE])
		service = PBServiceField.new()
		service.field = __chatInfo
		service.func_ref = Callable(self, "new_chatInfo")
		data[__chatInfo.tag] = service
		
	var data = {}
	
	var __chatInfo: PBField
	func get_chatInfo() -> MsgChatInfo:
		return __chatInfo.value
	func clear_chatInfo() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__chatInfo.value = DEFAULT_VALUES_2[PB_DATA_TYPE.MESSAGE]
	func new_chatInfo() -> MsgChatInfo:
		__chatInfo.value = MsgChatInfo.new()
		return __chatInfo.value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S2C_Message:

	static var proto_name = "S2C_Message" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nTtemplate = PBField.new("nTtemplate", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nTtemplate
		data[__nTtemplate.tag] = service
		
	var data = {}
	
	var __nTtemplate: PBField
	func get_nTtemplate() -> int:
		return __nTtemplate.value
	func clear_nTtemplate() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nTtemplate.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nTtemplate(value : int) -> void:
		__nTtemplate.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S_G2C_GmCmdMsg:

	static var proto_name = "S_G2C_GmCmdMsg" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nSenderId = PBField.new("nSenderId", PB_DATA_TYPE.DOUBLE, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __nSenderId
		data[__nSenderId.tag] = service
		
		__strContent = PBField.new("strContent", PB_DATA_TYPE.STRING, PB_RULE.REQUIRED, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.STRING])
		service = PBServiceField.new()
		service.field = __strContent
		data[__strContent.tag] = service
		
	var data = {}
	
	var __nSenderId: PBField
	func get_nSenderId() -> float:
		return __nSenderId.value
	func clear_nSenderId() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nSenderId.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_nSenderId(value : float) -> void:
		__nSenderId.value = value
	
	var __strContent: PBField
	func get_strContent() -> String:
		return __strContent.value
	func clear_strContent() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__strContent.value = DEFAULT_VALUES_2[PB_DATA_TYPE.STRING]
	func set_strContent(value : String) -> void:
		__strContent.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S_G2C_WorldChat:

	static var proto_name = "S_G2C_WorldChat" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__chatInfo = PBField.new("chatInfo", PB_DATA_TYPE.MESSAGE, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.MESSAGE])
		service = PBServiceField.new()
		service.field = __chatInfo
		service.func_ref = Callable(self, "new_chatInfo")
		data[__chatInfo.tag] = service
		
	var data = {}
	
	var __chatInfo: PBField
	func get_chatInfo() -> MsgChatInfo:
		return __chatInfo.value
	func clear_chatInfo() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__chatInfo.value = DEFAULT_VALUES_2[PB_DATA_TYPE.MESSAGE]
	func new_chatInfo() -> MsgChatInfo:
		__chatInfo.value = MsgChatInfo.new()
		return __chatInfo.value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S_QueryCharID:

	static var proto_name = "S_QueryCharID" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__sCharName = PBField.new("sCharName", PB_DATA_TYPE.STRING, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.STRING])
		service = PBServiceField.new()
		service.field = __sCharName
		data[__sCharName.tag] = service
		
	var data = {}
	
	var __sCharName: PBField
	func get_sCharName() -> String:
		return __sCharName.value
	func clear_sCharName() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__sCharName.value = DEFAULT_VALUES_2[PB_DATA_TYPE.STRING]
	func set_sCharName(value : String) -> void:
		__sCharName.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S_AnswerCharID:

	static var proto_name = "S_AnswerCharID" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__sCharName = PBField.new("sCharName", PB_DATA_TYPE.STRING, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.STRING])
		service = PBServiceField.new()
		service.field = __sCharName
		data[__sCharName.tag] = service
		
		__dPlayerID = PBField.new("dPlayerID", PB_DATA_TYPE.DOUBLE, PB_RULE.REQUIRED, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __dPlayerID
		data[__dPlayerID.tag] = service
		
	var data = {}
	
	var __sCharName: PBField
	func get_sCharName() -> String:
		return __sCharName.value
	func clear_sCharName() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__sCharName.value = DEFAULT_VALUES_2[PB_DATA_TYPE.STRING]
	func set_sCharName(value : String) -> void:
		__sCharName.value = value
	
	var __dPlayerID: PBField
	func get_dPlayerID() -> float:
		return __dPlayerID.value
	func clear_dPlayerID() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__dPlayerID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_dPlayerID(value : float) -> void:
		__dPlayerID.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S2C_NoticeMsg:

	static var proto_name = "S2C_NoticeMsg" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__ID = PBField.new("ID", PB_DATA_TYPE.STRING, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.STRING])
		service = PBServiceField.new()
		service.field = __ID
		data[__ID.tag] = service
		
		__nAction = PBField.new("nAction", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nAction
		data[__nAction.tag] = service
		
		__nNoticeType = PBField.new("nNoticeType", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 3, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nNoticeType
		data[__nNoticeType.tag] = service
		
		__strNotice = PBField.new("strNotice", PB_DATA_TYPE.STRING, PB_RULE.REQUIRED, 4, false, DEFAULT_VALUES_2[PB_DATA_TYPE.STRING])
		service = PBServiceField.new()
		service.field = __strNotice
		data[__strNotice.tag] = service
		
		__nBeginTime = PBField.new("nBeginTime", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 5, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nBeginTime
		data[__nBeginTime.tag] = service
		
		__nEndTime = PBField.new("nEndTime", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 6, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nEndTime
		data[__nEndTime.tag] = service
		
		__nInterval = PBField.new("nInterval", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 7, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nInterval
		data[__nInterval.tag] = service
		
	var data = {}
	
	var __ID: PBField
	func get_ID() -> String:
		return __ID.value
	func clear_ID() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__ID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.STRING]
	func set_ID(value : String) -> void:
		__ID.value = value
	
	var __nAction: PBField
	func get_nAction() -> int:
		return __nAction.value
	func clear_nAction() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__nAction.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nAction(value : int) -> void:
		__nAction.value = value
	
	var __nNoticeType: PBField
	func get_nNoticeType() -> int:
		return __nNoticeType.value
	func clear_nNoticeType() -> void:
		data[3].state = PB_SERVICE_STATE.UNFILLED
		__nNoticeType.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nNoticeType(value : int) -> void:
		__nNoticeType.value = value
	
	var __strNotice: PBField
	func get_strNotice() -> String:
		return __strNotice.value
	func clear_strNotice() -> void:
		data[4].state = PB_SERVICE_STATE.UNFILLED
		__strNotice.value = DEFAULT_VALUES_2[PB_DATA_TYPE.STRING]
	func set_strNotice(value : String) -> void:
		__strNotice.value = value
	
	var __nBeginTime: PBField
	func get_nBeginTime() -> int:
		return __nBeginTime.value
	func clear_nBeginTime() -> void:
		data[5].state = PB_SERVICE_STATE.UNFILLED
		__nBeginTime.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nBeginTime(value : int) -> void:
		__nBeginTime.value = value
	
	var __nEndTime: PBField
	func get_nEndTime() -> int:
		return __nEndTime.value
	func clear_nEndTime() -> void:
		data[6].state = PB_SERVICE_STATE.UNFILLED
		__nEndTime.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nEndTime(value : int) -> void:
		__nEndTime.value = value
	
	var __nInterval: PBField
	func get_nInterval() -> int:
		return __nInterval.value
	func clear_nInterval() -> void:
		data[7].state = PB_SERVICE_STATE.UNFILLED
		__nInterval.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nInterval(value : int) -> void:
		__nInterval.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class G2C_FriendsError:

	static var proto_name = "G2C_FriendsError" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nErrorCode = PBField.new("nErrorCode", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nErrorCode
		data[__nErrorCode.tag] = service
		
		__nNum = PBField.new("nNum", PB_DATA_TYPE.INT32, PB_RULE.OPTIONAL, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nNum
		data[__nNum.tag] = service
		
		__dCharID = PBField.new("dCharID", PB_DATA_TYPE.DOUBLE, PB_RULE.OPTIONAL, 3, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __dCharID
		data[__dCharID.tag] = service
		
		__Name = PBField.new("Name", PB_DATA_TYPE.STRING, PB_RULE.OPTIONAL, 4, false, DEFAULT_VALUES_2[PB_DATA_TYPE.STRING])
		service = PBServiceField.new()
		service.field = __Name
		data[__Name.tag] = service
		
	var data = {}
	
	var __nErrorCode: PBField
	func get_nErrorCode() -> int:
		return __nErrorCode.value
	func clear_nErrorCode() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nErrorCode.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nErrorCode(value : int) -> void:
		__nErrorCode.value = value
	
	var __nNum: PBField
	func has_nNum() -> bool:
		if __nNum.value != null:
			return true
		return false
	func get_nNum() -> int:
		return __nNum.value
	func clear_nNum() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__nNum.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nNum(value : int) -> void:
		__nNum.value = value
	
	var __dCharID: PBField
	func has_dCharID() -> bool:
		if __dCharID.value != null:
			return true
		return false
	func get_dCharID() -> float:
		return __dCharID.value
	func clear_dCharID() -> void:
		data[3].state = PB_SERVICE_STATE.UNFILLED
		__dCharID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_dCharID(value : float) -> void:
		__dCharID.value = value
	
	var __Name: PBField
	func has_Name() -> bool:
		if __Name.value != null:
			return true
		return false
	func get_Name() -> String:
		return __Name.value
	func clear_Name() -> void:
		data[4].state = PB_SERVICE_STATE.UNFILLED
		__Name.value = DEFAULT_VALUES_2[PB_DATA_TYPE.STRING]
	func set_Name(value : String) -> void:
		__Name.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class C2G_ApplyFriend:

	static var proto_name = "C2G_ApplyFriend" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__dApplyID = PBField.new("dApplyID", PB_DATA_TYPE.DOUBLE, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __dApplyID
		data[__dApplyID.tag] = service
		
		__dBeApplyID = PBField.new("dBeApplyID", PB_DATA_TYPE.DOUBLE, PB_RULE.REQUIRED, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __dBeApplyID
		data[__dBeApplyID.tag] = service
		
		__nbadgeLevel = PBField.new("nbadgeLevel", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 3, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nbadgeLevel
		data[__nbadgeLevel.tag] = service
		
		__Name = PBField.new("Name", PB_DATA_TYPE.STRING, PB_RULE.REQUIRED, 4, false, DEFAULT_VALUES_2[PB_DATA_TYPE.STRING])
		service = PBServiceField.new()
		service.field = __Name
		data[__Name.tag] = service
		
	var data = {}
	
	var __dApplyID: PBField
	func get_dApplyID() -> float:
		return __dApplyID.value
	func clear_dApplyID() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__dApplyID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_dApplyID(value : float) -> void:
		__dApplyID.value = value
	
	var __dBeApplyID: PBField
	func get_dBeApplyID() -> float:
		return __dBeApplyID.value
	func clear_dBeApplyID() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__dBeApplyID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_dBeApplyID(value : float) -> void:
		__dBeApplyID.value = value
	
	var __nbadgeLevel: PBField
	func get_nbadgeLevel() -> int:
		return __nbadgeLevel.value
	func clear_nbadgeLevel() -> void:
		data[3].state = PB_SERVICE_STATE.UNFILLED
		__nbadgeLevel.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nbadgeLevel(value : int) -> void:
		__nbadgeLevel.value = value
	
	var __Name: PBField
	func get_Name() -> String:
		return __Name.value
	func clear_Name() -> void:
		data[4].state = PB_SERVICE_STATE.UNFILLED
		__Name.value = DEFAULT_VALUES_2[PB_DATA_TYPE.STRING]
	func set_Name(value : String) -> void:
		__Name.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S_G2CE_ApplyFriend:

	static var proto_name = "S_G2CE_ApplyFriend" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__dApplyID = PBField.new("dApplyID", PB_DATA_TYPE.DOUBLE, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __dApplyID
		data[__dApplyID.tag] = service
		
		__dBeApplyID = PBField.new("dBeApplyID", PB_DATA_TYPE.DOUBLE, PB_RULE.REQUIRED, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __dBeApplyID
		data[__dBeApplyID.tag] = service
		
		__nbadgeLevel = PBField.new("nbadgeLevel", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 3, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nbadgeLevel
		data[__nbadgeLevel.tag] = service
		
		__Name = PBField.new("Name", PB_DATA_TYPE.STRING, PB_RULE.REQUIRED, 4, false, DEFAULT_VALUES_2[PB_DATA_TYPE.STRING])
		service = PBServiceField.new()
		service.field = __Name
		data[__Name.tag] = service
		
	var data = {}
	
	var __dApplyID: PBField
	func get_dApplyID() -> float:
		return __dApplyID.value
	func clear_dApplyID() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__dApplyID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_dApplyID(value : float) -> void:
		__dApplyID.value = value
	
	var __dBeApplyID: PBField
	func get_dBeApplyID() -> float:
		return __dBeApplyID.value
	func clear_dBeApplyID() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__dBeApplyID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_dBeApplyID(value : float) -> void:
		__dBeApplyID.value = value
	
	var __nbadgeLevel: PBField
	func get_nbadgeLevel() -> int:
		return __nbadgeLevel.value
	func clear_nbadgeLevel() -> void:
		data[3].state = PB_SERVICE_STATE.UNFILLED
		__nbadgeLevel.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nbadgeLevel(value : int) -> void:
		__nbadgeLevel.value = value
	
	var __Name: PBField
	func get_Name() -> String:
		return __Name.value
	func clear_Name() -> void:
		data[4].state = PB_SERVICE_STATE.UNFILLED
		__Name.value = DEFAULT_VALUES_2[PB_DATA_TYPE.STRING]
	func set_Name(value : String) -> void:
		__Name.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class C2G_AckTransmitApply:

	static var proto_name = "C2G_AckTransmitApply" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__dApplyID = PBField.new("dApplyID", PB_DATA_TYPE.DOUBLE, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __dApplyID
		data[__dApplyID.tag] = service
		
		__szApplyName = PBField.new("szApplyName", PB_DATA_TYPE.STRING, PB_RULE.REQUIRED, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.STRING])
		service = PBServiceField.new()
		service.field = __szApplyName
		data[__szApplyName.tag] = service
		
		__dBeApplyID = PBField.new("dBeApplyID", PB_DATA_TYPE.DOUBLE, PB_RULE.REQUIRED, 3, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __dBeApplyID
		data[__dBeApplyID.tag] = service
		
		__szBeApplyName = PBField.new("szBeApplyName", PB_DATA_TYPE.STRING, PB_RULE.REQUIRED, 4, false, DEFAULT_VALUES_2[PB_DATA_TYPE.STRING])
		service = PBServiceField.new()
		service.field = __szBeApplyName
		data[__szBeApplyName.tag] = service
		
		__nbadgeLevel = PBField.new("nbadgeLevel", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 5, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nbadgeLevel
		data[__nbadgeLevel.tag] = service
		
		__nRet = PBField.new("nRet", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 6, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nRet
		data[__nRet.tag] = service
		
	var data = {}
	
	var __dApplyID: PBField
	func get_dApplyID() -> float:
		return __dApplyID.value
	func clear_dApplyID() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__dApplyID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_dApplyID(value : float) -> void:
		__dApplyID.value = value
	
	var __szApplyName: PBField
	func get_szApplyName() -> String:
		return __szApplyName.value
	func clear_szApplyName() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__szApplyName.value = DEFAULT_VALUES_2[PB_DATA_TYPE.STRING]
	func set_szApplyName(value : String) -> void:
		__szApplyName.value = value
	
	var __dBeApplyID: PBField
	func get_dBeApplyID() -> float:
		return __dBeApplyID.value
	func clear_dBeApplyID() -> void:
		data[3].state = PB_SERVICE_STATE.UNFILLED
		__dBeApplyID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_dBeApplyID(value : float) -> void:
		__dBeApplyID.value = value
	
	var __szBeApplyName: PBField
	func get_szBeApplyName() -> String:
		return __szBeApplyName.value
	func clear_szBeApplyName() -> void:
		data[4].state = PB_SERVICE_STATE.UNFILLED
		__szBeApplyName.value = DEFAULT_VALUES_2[PB_DATA_TYPE.STRING]
	func set_szBeApplyName(value : String) -> void:
		__szBeApplyName.value = value
	
	var __nbadgeLevel: PBField
	func get_nbadgeLevel() -> int:
		return __nbadgeLevel.value
	func clear_nbadgeLevel() -> void:
		data[5].state = PB_SERVICE_STATE.UNFILLED
		__nbadgeLevel.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nbadgeLevel(value : int) -> void:
		__nbadgeLevel.value = value
	
	var __nRet: PBField
	func get_nRet() -> int:
		return __nRet.value
	func clear_nRet() -> void:
		data[6].state = PB_SERVICE_STATE.UNFILLED
		__nRet.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nRet(value : int) -> void:
		__nRet.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S_G2CE_AckTransmitApply:

	static var proto_name = "S_G2CE_AckTransmitApply" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__dApplyID = PBField.new("dApplyID", PB_DATA_TYPE.DOUBLE, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __dApplyID
		data[__dApplyID.tag] = service
		
		__szApplyName = PBField.new("szApplyName", PB_DATA_TYPE.STRING, PB_RULE.REQUIRED, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.STRING])
		service = PBServiceField.new()
		service.field = __szApplyName
		data[__szApplyName.tag] = service
		
		__dBeApplyID = PBField.new("dBeApplyID", PB_DATA_TYPE.DOUBLE, PB_RULE.REQUIRED, 3, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __dBeApplyID
		data[__dBeApplyID.tag] = service
		
		__szBeApplyName = PBField.new("szBeApplyName", PB_DATA_TYPE.STRING, PB_RULE.REQUIRED, 4, false, DEFAULT_VALUES_2[PB_DATA_TYPE.STRING])
		service = PBServiceField.new()
		service.field = __szBeApplyName
		data[__szBeApplyName.tag] = service
		
		__nbadgeLevel = PBField.new("nbadgeLevel", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 5, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nbadgeLevel
		data[__nbadgeLevel.tag] = service
		
		__nRet = PBField.new("nRet", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 6, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nRet
		data[__nRet.tag] = service
		
	var data = {}
	
	var __dApplyID: PBField
	func get_dApplyID() -> float:
		return __dApplyID.value
	func clear_dApplyID() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__dApplyID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_dApplyID(value : float) -> void:
		__dApplyID.value = value
	
	var __szApplyName: PBField
	func get_szApplyName() -> String:
		return __szApplyName.value
	func clear_szApplyName() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__szApplyName.value = DEFAULT_VALUES_2[PB_DATA_TYPE.STRING]
	func set_szApplyName(value : String) -> void:
		__szApplyName.value = value
	
	var __dBeApplyID: PBField
	func get_dBeApplyID() -> float:
		return __dBeApplyID.value
	func clear_dBeApplyID() -> void:
		data[3].state = PB_SERVICE_STATE.UNFILLED
		__dBeApplyID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_dBeApplyID(value : float) -> void:
		__dBeApplyID.value = value
	
	var __szBeApplyName: PBField
	func get_szBeApplyName() -> String:
		return __szBeApplyName.value
	func clear_szBeApplyName() -> void:
		data[4].state = PB_SERVICE_STATE.UNFILLED
		__szBeApplyName.value = DEFAULT_VALUES_2[PB_DATA_TYPE.STRING]
	func set_szBeApplyName(value : String) -> void:
		__szBeApplyName.value = value
	
	var __nbadgeLevel: PBField
	func get_nbadgeLevel() -> int:
		return __nbadgeLevel.value
	func clear_nbadgeLevel() -> void:
		data[5].state = PB_SERVICE_STATE.UNFILLED
		__nbadgeLevel.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nbadgeLevel(value : int) -> void:
		__nbadgeLevel.value = value
	
	var __nRet: PBField
	func get_nRet() -> int:
		return __nRet.value
	func clear_nRet() -> void:
		data[6].state = PB_SERVICE_STATE.UNFILLED
		__nRet.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nRet(value : int) -> void:
		__nRet.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class C2G_DelFriend:

	static var proto_name = "C2G_DelFriend" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__UUID = PBField.new("UUID", PB_DATA_TYPE.DOUBLE, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __UUID
		data[__UUID.tag] = service
		
	var data = {}
	
	var __UUID: PBField
	func get_UUID() -> float:
		return __UUID.value
	func clear_UUID() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__UUID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_UUID(value : float) -> void:
		__UUID.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S_G2CE_DelFriend:

	static var proto_name = "S_G2CE_DelFriend" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nPlayerID = PBField.new("nPlayerID", PB_DATA_TYPE.DOUBLE, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __nPlayerID
		data[__nPlayerID.tag] = service
		
		__UUID = PBField.new("UUID", PB_DATA_TYPE.DOUBLE, PB_RULE.REQUIRED, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __UUID
		data[__UUID.tag] = service
		
	var data = {}
	
	var __nPlayerID: PBField
	func get_nPlayerID() -> float:
		return __nPlayerID.value
	func clear_nPlayerID() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nPlayerID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_nPlayerID(value : float) -> void:
		__nPlayerID.value = value
	
	var __UUID: PBField
	func get_UUID() -> float:
		return __UUID.value
	func clear_UUID() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__UUID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_UUID(value : float) -> void:
		__UUID.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class C2G_FriendSearch:

	static var proto_name = "C2G_FriendSearch" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__szCharName = PBField.new("szCharName", PB_DATA_TYPE.STRING, PB_RULE.OPTIONAL, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.STRING])
		service = PBServiceField.new()
		service.field = __szCharName
		data[__szCharName.tag] = service
		
		__nSearchID = PBField.new("nSearchID", PB_DATA_TYPE.DOUBLE, PB_RULE.OPTIONAL, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __nSearchID
		data[__nSearchID.tag] = service
		
	var data = {}
	
	var __szCharName: PBField
	func has_szCharName() -> bool:
		if __szCharName.value != null:
			return true
		return false
	func get_szCharName() -> String:
		return __szCharName.value
	func clear_szCharName() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__szCharName.value = DEFAULT_VALUES_2[PB_DATA_TYPE.STRING]
	func set_szCharName(value : String) -> void:
		__szCharName.value = value
	
	var __nSearchID: PBField
	func has_nSearchID() -> bool:
		if __nSearchID.value != null:
			return true
		return false
	func get_nSearchID() -> float:
		return __nSearchID.value
	func clear_nSearchID() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__nSearchID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_nSearchID(value : float) -> void:
		__nSearchID.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S_G2CE_FriendSearch:

	static var proto_name = "S_G2CE_FriendSearch" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nPlayerID = PBField.new("nPlayerID", PB_DATA_TYPE.DOUBLE, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __nPlayerID
		data[__nPlayerID.tag] = service
		
		__szCharName = PBField.new("szCharName", PB_DATA_TYPE.STRING, PB_RULE.OPTIONAL, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.STRING])
		service = PBServiceField.new()
		service.field = __szCharName
		data[__szCharName.tag] = service
		
		__nSearchID = PBField.new("nSearchID", PB_DATA_TYPE.DOUBLE, PB_RULE.OPTIONAL, 3, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __nSearchID
		data[__nSearchID.tag] = service
		
	var data = {}
	
	var __nPlayerID: PBField
	func get_nPlayerID() -> float:
		return __nPlayerID.value
	func clear_nPlayerID() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nPlayerID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_nPlayerID(value : float) -> void:
		__nPlayerID.value = value
	
	var __szCharName: PBField
	func has_szCharName() -> bool:
		if __szCharName.value != null:
			return true
		return false
	func get_szCharName() -> String:
		return __szCharName.value
	func clear_szCharName() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__szCharName.value = DEFAULT_VALUES_2[PB_DATA_TYPE.STRING]
	func set_szCharName(value : String) -> void:
		__szCharName.value = value
	
	var __nSearchID: PBField
	func has_nSearchID() -> bool:
		if __nSearchID.value != null:
			return true
		return false
	func get_nSearchID() -> float:
		return __nSearchID.value
	func clear_nSearchID() -> void:
		data[3].state = PB_SERVICE_STATE.UNFILLED
		__nSearchID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_nSearchID(value : float) -> void:
		__nSearchID.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class G2C_AckFriendSearch:

	static var proto_name = "G2C_AckFriendSearch" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nRet = PBField.new("nRet", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nRet
		data[__nRet.tag] = service
		
		__szCharName = PBField.new("szCharName", PB_DATA_TYPE.STRING, PB_RULE.OPTIONAL, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.STRING])
		service = PBServiceField.new()
		service.field = __szCharName
		data[__szCharName.tag] = service
		
		__nSearchID = PBField.new("nSearchID", PB_DATA_TYPE.DOUBLE, PB_RULE.OPTIONAL, 3, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __nSearchID
		data[__nSearchID.tag] = service
		
	var data = {}
	
	var __nRet: PBField
	func get_nRet() -> int:
		return __nRet.value
	func clear_nRet() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nRet.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nRet(value : int) -> void:
		__nRet.value = value
	
	var __szCharName: PBField
	func has_szCharName() -> bool:
		if __szCharName.value != null:
			return true
		return false
	func get_szCharName() -> String:
		return __szCharName.value
	func clear_szCharName() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__szCharName.value = DEFAULT_VALUES_2[PB_DATA_TYPE.STRING]
	func set_szCharName(value : String) -> void:
		__szCharName.value = value
	
	var __nSearchID: PBField
	func has_nSearchID() -> bool:
		if __nSearchID.value != null:
			return true
		return false
	func get_nSearchID() -> float:
		return __nSearchID.value
	func clear_nSearchID() -> void:
		data[3].state = PB_SERVICE_STATE.UNFILLED
		__nSearchID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_nSearchID(value : float) -> void:
		__nSearchID.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class C2G_AddInBlackList:

	static var proto_name = "C2G_AddInBlackList" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__dBeAddInId = PBField.new("dBeAddInId", PB_DATA_TYPE.DOUBLE, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __dBeAddInId
		data[__dBeAddInId.tag] = service
		
		__szName = PBField.new("szName", PB_DATA_TYPE.STRING, PB_RULE.REQUIRED, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.STRING])
		service = PBServiceField.new()
		service.field = __szName
		data[__szName.tag] = service
		
	var data = {}
	
	var __dBeAddInId: PBField
	func get_dBeAddInId() -> float:
		return __dBeAddInId.value
	func clear_dBeAddInId() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__dBeAddInId.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_dBeAddInId(value : float) -> void:
		__dBeAddInId.value = value
	
	var __szName: PBField
	func get_szName() -> String:
		return __szName.value
	func clear_szName() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__szName.value = DEFAULT_VALUES_2[PB_DATA_TYPE.STRING]
	func set_szName(value : String) -> void:
		__szName.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S_G2CE_AddInBlackList:

	static var proto_name = "S_G2CE_AddInBlackList" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nPlayerID = PBField.new("nPlayerID", PB_DATA_TYPE.DOUBLE, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __nPlayerID
		data[__nPlayerID.tag] = service
		
		__dBeAddInId = PBField.new("dBeAddInId", PB_DATA_TYPE.DOUBLE, PB_RULE.REQUIRED, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __dBeAddInId
		data[__dBeAddInId.tag] = service
		
		__szName = PBField.new("szName", PB_DATA_TYPE.STRING, PB_RULE.REQUIRED, 3, false, DEFAULT_VALUES_2[PB_DATA_TYPE.STRING])
		service = PBServiceField.new()
		service.field = __szName
		data[__szName.tag] = service
		
	var data = {}
	
	var __nPlayerID: PBField
	func get_nPlayerID() -> float:
		return __nPlayerID.value
	func clear_nPlayerID() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nPlayerID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_nPlayerID(value : float) -> void:
		__nPlayerID.value = value
	
	var __dBeAddInId: PBField
	func get_dBeAddInId() -> float:
		return __dBeAddInId.value
	func clear_dBeAddInId() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__dBeAddInId.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_dBeAddInId(value : float) -> void:
		__dBeAddInId.value = value
	
	var __szName: PBField
	func get_szName() -> String:
		return __szName.value
	func clear_szName() -> void:
		data[3].state = PB_SERVICE_STATE.UNFILLED
		__szName.value = DEFAULT_VALUES_2[PB_DATA_TYPE.STRING]
	func set_szName(value : String) -> void:
		__szName.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class C2G_DelBlackList:

	static var proto_name = "C2G_DelBlackList" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__UUID = PBField.new("UUID", PB_DATA_TYPE.DOUBLE, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __UUID
		data[__UUID.tag] = service
		
	var data = {}
	
	var __UUID: PBField
	func get_UUID() -> float:
		return __UUID.value
	func clear_UUID() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__UUID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_UUID(value : float) -> void:
		__UUID.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S_G2CE_DelBlackList:

	static var proto_name = "S_G2CE_DelBlackList" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nPlayerID = PBField.new("nPlayerID", PB_DATA_TYPE.DOUBLE, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __nPlayerID
		data[__nPlayerID.tag] = service
		
		__UUID = PBField.new("UUID", PB_DATA_TYPE.DOUBLE, PB_RULE.REQUIRED, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __UUID
		data[__UUID.tag] = service
		
	var data = {}
	
	var __nPlayerID: PBField
	func get_nPlayerID() -> float:
		return __nPlayerID.value
	func clear_nPlayerID() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nPlayerID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_nPlayerID(value : float) -> void:
		__nPlayerID.value = value
	
	var __UUID: PBField
	func get_UUID() -> float:
		return __UUID.value
	func clear_UUID() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__UUID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_UUID(value : float) -> void:
		__UUID.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class C2G_FavorabilityOptr:

	static var proto_name = "C2G_FavorabilityOptr" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__UUID = PBField.new("UUID", PB_DATA_TYPE.DOUBLE, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __UUID
		data[__UUID.tag] = service
		
		__Optr = PBField.new("Optr", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __Optr
		data[__Optr.tag] = service
		
	var data = {}
	
	var __UUID: PBField
	func get_UUID() -> float:
		return __UUID.value
	func clear_UUID() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__UUID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_UUID(value : float) -> void:
		__UUID.value = value
	
	var __Optr: PBField
	func get_Optr() -> int:
		return __Optr.value
	func clear_Optr() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__Optr.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_Optr(value : int) -> void:
		__Optr.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S_G2CE_FavorabilityOptr:

	static var proto_name = "S_G2CE_FavorabilityOptr" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nPlayerID = PBField.new("nPlayerID", PB_DATA_TYPE.DOUBLE, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __nPlayerID
		data[__nPlayerID.tag] = service
		
		__UUID = PBField.new("UUID", PB_DATA_TYPE.DOUBLE, PB_RULE.REQUIRED, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __UUID
		data[__UUID.tag] = service
		
		__Optr = PBField.new("Optr", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 3, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __Optr
		data[__Optr.tag] = service
		
	var data = {}
	
	var __nPlayerID: PBField
	func get_nPlayerID() -> float:
		return __nPlayerID.value
	func clear_nPlayerID() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nPlayerID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_nPlayerID(value : float) -> void:
		__nPlayerID.value = value
	
	var __UUID: PBField
	func get_UUID() -> float:
		return __UUID.value
	func clear_UUID() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__UUID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_UUID(value : float) -> void:
		__UUID.value = value
	
	var __Optr: PBField
	func get_Optr() -> int:
		return __Optr.value
	func clear_Optr() -> void:
		data[3].state = PB_SERVICE_STATE.UNFILLED
		__Optr.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_Optr(value : int) -> void:
		__Optr.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S_CE2G_AckFavorabilityOptr:

	static var proto_name = "S_CE2G_AckFavorabilityOptr" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__dPlayerID = PBField.new("dPlayerID", PB_DATA_TYPE.DOUBLE, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __dPlayerID
		data[__dPlayerID.tag] = service
		
		__nFavor = PBField.new("nFavor", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nFavor
		data[__nFavor.tag] = service
		
		__Optr = PBField.new("Optr", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 3, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __Optr
		data[__Optr.tag] = service
		
		__ret = PBField.new("ret", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 4, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __ret
		data[__ret.tag] = service
		
	var data = {}
	
	var __dPlayerID: PBField
	func get_dPlayerID() -> float:
		return __dPlayerID.value
	func clear_dPlayerID() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__dPlayerID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_dPlayerID(value : float) -> void:
		__dPlayerID.value = value
	
	var __nFavor: PBField
	func get_nFavor() -> int:
		return __nFavor.value
	func clear_nFavor() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__nFavor.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nFavor(value : int) -> void:
		__nFavor.value = value
	
	var __Optr: PBField
	func get_Optr() -> int:
		return __Optr.value
	func clear_Optr() -> void:
		data[3].state = PB_SERVICE_STATE.UNFILLED
		__Optr.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_Optr(value : int) -> void:
		__Optr.value = value
	
	var __ret: PBField
	func get_ret() -> int:
		return __ret.value
	func clear_ret() -> void:
		data[4].state = PB_SERVICE_STATE.UNFILLED
		__ret.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_ret(value : int) -> void:
		__ret.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class C2G_RequireReco:

	static var proto_name = "C2G_RequireReco" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__firstTime = PBField.new("firstTime", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __firstTime
		data[__firstTime.tag] = service
		
	var data = {}
	
	var __firstTime: PBField
	func get_firstTime() -> int:
		return __firstTime.value
	func clear_firstTime() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__firstTime.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_firstTime(value : int) -> void:
		__firstTime.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S_G2CE_RequireReco:

	static var proto_name = "S_G2CE_RequireReco" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__firstTime = PBField.new("firstTime", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __firstTime
		data[__firstTime.tag] = service
		
		__nPlayerID = PBField.new("nPlayerID", PB_DATA_TYPE.DOUBLE, PB_RULE.REQUIRED, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __nPlayerID
		data[__nPlayerID.tag] = service
		
		__nBadgeLevel = PBField.new("nBadgeLevel", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 3, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nBadgeLevel
		data[__nBadgeLevel.tag] = service
		
		__nCurClassLevel = PBField.new("nCurClassLevel", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 4, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nCurClassLevel
		data[__nCurClassLevel.tag] = service
		
		__sceneUUID = PBField.new("sceneUUID", PB_DATA_TYPE.DOUBLE, PB_RULE.REQUIRED, 5, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __sceneUUID
		data[__sceneUUID.tag] = service
		
		__seq = PBField.new("seq", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 6, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __seq
		data[__seq.tag] = service
		
	var data = {}
	
	var __firstTime: PBField
	func get_firstTime() -> int:
		return __firstTime.value
	func clear_firstTime() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__firstTime.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_firstTime(value : int) -> void:
		__firstTime.value = value
	
	var __nPlayerID: PBField
	func get_nPlayerID() -> float:
		return __nPlayerID.value
	func clear_nPlayerID() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__nPlayerID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_nPlayerID(value : float) -> void:
		__nPlayerID.value = value
	
	var __nBadgeLevel: PBField
	func get_nBadgeLevel() -> int:
		return __nBadgeLevel.value
	func clear_nBadgeLevel() -> void:
		data[3].state = PB_SERVICE_STATE.UNFILLED
		__nBadgeLevel.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nBadgeLevel(value : int) -> void:
		__nBadgeLevel.value = value
	
	var __nCurClassLevel: PBField
	func get_nCurClassLevel() -> int:
		return __nCurClassLevel.value
	func clear_nCurClassLevel() -> void:
		data[4].state = PB_SERVICE_STATE.UNFILLED
		__nCurClassLevel.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nCurClassLevel(value : int) -> void:
		__nCurClassLevel.value = value
	
	var __sceneUUID: PBField
	func get_sceneUUID() -> float:
		return __sceneUUID.value
	func clear_sceneUUID() -> void:
		data[5].state = PB_SERVICE_STATE.UNFILLED
		__sceneUUID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_sceneUUID(value : float) -> void:
		__sceneUUID.value = value
	
	var __seq: PBField
	func get_seq() -> int:
		return __seq.value
	func clear_seq() -> void:
		data[6].state = PB_SERVICE_STATE.UNFILLED
		__seq.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_seq(value : int) -> void:
		__seq.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class CE2G_AckReco:

	static var proto_name = "CE2G_AckReco" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nPlayerID = PBField.new("nPlayerID", PB_DATA_TYPE.DOUBLE, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __nPlayerID
		data[__nPlayerID.tag] = service
		
		__nBadgeLevel = PBField.new("nBadgeLevel", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nBadgeLevel
		data[__nBadgeLevel.tag] = service
		
		__nCurClassLevel = PBField.new("nCurClassLevel", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 3, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nCurClassLevel
		data[__nCurClassLevel.tag] = service
		
		var __dFriendIDs_default: Array[float] = []
		__dFriendIDs = PBField.new("dFriendIDs", PB_DATA_TYPE.DOUBLE, PB_RULE.REPEATED, 4, false, __dFriendIDs_default)
		service = PBServiceField.new()
		service.field = __dFriendIDs
		data[__dFriendIDs.tag] = service
		
		__sceneUUID = PBField.new("sceneUUID", PB_DATA_TYPE.DOUBLE, PB_RULE.REQUIRED, 5, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __sceneUUID
		data[__sceneUUID.tag] = service
		
		__seq = PBField.new("seq", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 6, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __seq
		data[__seq.tag] = service
		
		var __otherPlayerIDs_default: Array[float] = []
		__otherPlayerIDs = PBField.new("otherPlayerIDs", PB_DATA_TYPE.DOUBLE, PB_RULE.REPEATED, 7, false, __otherPlayerIDs_default)
		service = PBServiceField.new()
		service.field = __otherPlayerIDs
		data[__otherPlayerIDs.tag] = service
		
	var data = {}
	
	var __nPlayerID: PBField
	func get_nPlayerID() -> float:
		return __nPlayerID.value
	func clear_nPlayerID() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nPlayerID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_nPlayerID(value : float) -> void:
		__nPlayerID.value = value
	
	var __nBadgeLevel: PBField
	func get_nBadgeLevel() -> int:
		return __nBadgeLevel.value
	func clear_nBadgeLevel() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__nBadgeLevel.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nBadgeLevel(value : int) -> void:
		__nBadgeLevel.value = value
	
	var __nCurClassLevel: PBField
	func get_nCurClassLevel() -> int:
		return __nCurClassLevel.value
	func clear_nCurClassLevel() -> void:
		data[3].state = PB_SERVICE_STATE.UNFILLED
		__nCurClassLevel.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nCurClassLevel(value : int) -> void:
		__nCurClassLevel.value = value
	
	var __dFriendIDs: PBField
	func get_dFriendIDs() -> Array[float]:
		return __dFriendIDs.value
	func clear_dFriendIDs() -> void:
		data[4].state = PB_SERVICE_STATE.UNFILLED
		__dFriendIDs.value.clear()
	func add_dFriendIDs(value : float) -> void:
		__dFriendIDs.value.append(value)
	
	var __sceneUUID: PBField
	func get_sceneUUID() -> float:
		return __sceneUUID.value
	func clear_sceneUUID() -> void:
		data[5].state = PB_SERVICE_STATE.UNFILLED
		__sceneUUID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_sceneUUID(value : float) -> void:
		__sceneUUID.value = value
	
	var __seq: PBField
	func get_seq() -> int:
		return __seq.value
	func clear_seq() -> void:
		data[6].state = PB_SERVICE_STATE.UNFILLED
		__seq.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_seq(value : int) -> void:
		__seq.value = value
	
	var __otherPlayerIDs: PBField
	func get_otherPlayerIDs() -> Array[float]:
		return __otherPlayerIDs.value
	func clear_otherPlayerIDs() -> void:
		data[7].state = PB_SERVICE_STATE.UNFILLED
		__otherPlayerIDs.value.clear()
	func add_otherPlayerIDs(value : float) -> void:
		__otherPlayerIDs.value.append(value)
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class PlayerInfo:

	static var proto_name = "PlayerInfo" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__dPlayerID = PBField.new("dPlayerID", PB_DATA_TYPE.DOUBLE, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __dPlayerID
		data[__dPlayerID.tag] = service
		
		__szName = PBField.new("szName", PB_DATA_TYPE.STRING, PB_RULE.REQUIRED, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.STRING])
		service = PBServiceField.new()
		service.field = __szName
		data[__szName.tag] = service
		
	var data = {}
	
	var __dPlayerID: PBField
	func get_dPlayerID() -> float:
		return __dPlayerID.value
	func clear_dPlayerID() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__dPlayerID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_dPlayerID(value : float) -> void:
		__dPlayerID.value = value
	
	var __szName: PBField
	func get_szName() -> String:
		return __szName.value
	func clear_szName() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__szName.value = DEFAULT_VALUES_2[PB_DATA_TYPE.STRING]
	func set_szName(value : String) -> void:
		__szName.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class G2C_AckReco:

	static var proto_name = "G2C_AckReco" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		var __infos_default: Array[PlayerInfo] = []
		__infos = PBField.new("infos", PB_DATA_TYPE.MESSAGE, PB_RULE.REPEATED, 1, false, __infos_default)
		service = PBServiceField.new()
		service.field = __infos
		service.func_ref = Callable(self, "add_infos")
		data[__infos.tag] = service
		
		__seq = PBField.new("seq", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __seq
		data[__seq.tag] = service
		
	var data = {}
	
	var __infos: PBField
	func get_infos() -> Array[PlayerInfo]:
		return __infos.value
	func clear_infos() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__infos.value.clear()
	func add_infos() -> PlayerInfo:
		var element = PlayerInfo.new()
		__infos.value.append(element)
		return element
	
	var __seq: PBField
	func get_seq() -> int:
		return __seq.value
	func clear_seq() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__seq.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_seq(value : int) -> void:
		__seq.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class C2G_FriendsLinkData:

	static var proto_name = "C2G_FriendsLinkData" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__Optr = PBField.new("Optr", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __Optr
		data[__Optr.tag] = service
		
		var __dLinkID_default: Array[float] = []
		__dLinkID = PBField.new("dLinkID", PB_DATA_TYPE.DOUBLE, PB_RULE.REPEATED, 2, false, __dLinkID_default)
		service = PBServiceField.new()
		service.field = __dLinkID
		data[__dLinkID.tag] = service
		
	var data = {}
	
	var __Optr: PBField
	func get_Optr() -> int:
		return __Optr.value
	func clear_Optr() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__Optr.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_Optr(value : int) -> void:
		__Optr.value = value
	
	var __dLinkID: PBField
	func get_dLinkID() -> Array[float]:
		return __dLinkID.value
	func clear_dLinkID() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__dLinkID.value.clear()
	func add_dLinkID(value : float) -> void:
		__dLinkID.value.append(value)
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S_G2CE_FriendsLinkData:

	static var proto_name = "S_G2CE_FriendsLinkData" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__dPlayerID = PBField.new("dPlayerID", PB_DATA_TYPE.DOUBLE, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __dPlayerID
		data[__dPlayerID.tag] = service
		
		__Optr = PBField.new("Optr", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __Optr
		data[__Optr.tag] = service
		
		var __dLinkID_default: Array[float] = []
		__dLinkID = PBField.new("dLinkID", PB_DATA_TYPE.DOUBLE, PB_RULE.REPEATED, 3, false, __dLinkID_default)
		service = PBServiceField.new()
		service.field = __dLinkID
		data[__dLinkID.tag] = service
		
	var data = {}
	
	var __dPlayerID: PBField
	func get_dPlayerID() -> float:
		return __dPlayerID.value
	func clear_dPlayerID() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__dPlayerID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_dPlayerID(value : float) -> void:
		__dPlayerID.value = value
	
	var __Optr: PBField
	func get_Optr() -> int:
		return __Optr.value
	func clear_Optr() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__Optr.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_Optr(value : int) -> void:
		__Optr.value = value
	
	var __dLinkID: PBField
	func get_dLinkID() -> Array[float]:
		return __dLinkID.value
	func clear_dLinkID() -> void:
		data[3].state = PB_SERVICE_STATE.UNFILLED
		__dLinkID.value.clear()
	func add_dLinkID(value : float) -> void:
		__dLinkID.value.append(value)
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S_CE2G_ACKFriendsLinkData:

	static var proto_name = "S_CE2G_ACKFriendsLinkData" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__dPlayerID = PBField.new("dPlayerID", PB_DATA_TYPE.DOUBLE, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __dPlayerID
		data[__dPlayerID.tag] = service
		
		__Optr = PBField.new("Optr", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __Optr
		data[__Optr.tag] = service
		
		var __dLinkID_default: Array[float] = []
		__dLinkID = PBField.new("dLinkID", PB_DATA_TYPE.DOUBLE, PB_RULE.REPEATED, 3, false, __dLinkID_default)
		service = PBServiceField.new()
		service.field = __dLinkID
		data[__dLinkID.tag] = service
		
	var data = {}
	
	var __dPlayerID: PBField
	func get_dPlayerID() -> float:
		return __dPlayerID.value
	func clear_dPlayerID() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__dPlayerID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_dPlayerID(value : float) -> void:
		__dPlayerID.value = value
	
	var __Optr: PBField
	func get_Optr() -> int:
		return __Optr.value
	func clear_Optr() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__Optr.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_Optr(value : int) -> void:
		__Optr.value = value
	
	var __dLinkID: PBField
	func get_dLinkID() -> Array[float]:
		return __dLinkID.value
	func clear_dLinkID() -> void:
		data[3].state = PB_SERVICE_STATE.UNFILLED
		__dLinkID.value.clear()
	func add_dLinkID(value : float) -> void:
		__dLinkID.value.append(value)
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class C2G_RecentTeammate:

	static var proto_name = "C2G_RecentTeammate" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		var __TeammateIDs_default: Array[float] = []
		__TeammateIDs = PBField.new("TeammateIDs", PB_DATA_TYPE.DOUBLE, PB_RULE.REPEATED, 1, false, __TeammateIDs_default)
		service = PBServiceField.new()
		service.field = __TeammateIDs
		data[__TeammateIDs.tag] = service
		
	var data = {}
	
	var __TeammateIDs: PBField
	func get_TeammateIDs() -> Array[float]:
		return __TeammateIDs.value
	func clear_TeammateIDs() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__TeammateIDs.value.clear()
	func add_TeammateIDs(value : float) -> void:
		__TeammateIDs.value.append(value)
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S_G2CE_RecentTeammate:

	static var proto_name = "S_G2CE_RecentTeammate" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__dPlayerID = PBField.new("dPlayerID", PB_DATA_TYPE.DOUBLE, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __dPlayerID
		data[__dPlayerID.tag] = service
		
		var __TeammateIDs_default: Array[float] = []
		__TeammateIDs = PBField.new("TeammateIDs", PB_DATA_TYPE.DOUBLE, PB_RULE.REPEATED, 2, false, __TeammateIDs_default)
		service = PBServiceField.new()
		service.field = __TeammateIDs
		data[__TeammateIDs.tag] = service
		
	var data = {}
	
	var __dPlayerID: PBField
	func get_dPlayerID() -> float:
		return __dPlayerID.value
	func clear_dPlayerID() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__dPlayerID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_dPlayerID(value : float) -> void:
		__dPlayerID.value = value
	
	var __TeammateIDs: PBField
	func get_TeammateIDs() -> Array[float]:
		return __TeammateIDs.value
	func clear_TeammateIDs() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__TeammateIDs.value.clear()
	func add_TeammateIDs(value : float) -> void:
		__TeammateIDs.value.append(value)
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S2S_FunctionTimeAcc:

	static var proto_name = "S2S_FunctionTimeAcc" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__FunctionID = PBField.new("FunctionID", PB_DATA_TYPE.INT32, PB_RULE.OPTIONAL, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __FunctionID
		data[__FunctionID.tag] = service
		
		__AccDay = PBField.new("AccDay", PB_DATA_TYPE.INT32, PB_RULE.OPTIONAL, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __AccDay
		data[__AccDay.tag] = service
		
		__RealDay = PBField.new("RealDay", PB_DATA_TYPE.INT32, PB_RULE.OPTIONAL, 3, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __RealDay
		data[__RealDay.tag] = service
		
	var data = {}
	
	var __FunctionID: PBField
	func has_FunctionID() -> bool:
		if __FunctionID.value != null:
			return true
		return false
	func get_FunctionID() -> int:
		return __FunctionID.value
	func clear_FunctionID() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__FunctionID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_FunctionID(value : int) -> void:
		__FunctionID.value = value
	
	var __AccDay: PBField
	func has_AccDay() -> bool:
		if __AccDay.value != null:
			return true
		return false
	func get_AccDay() -> int:
		return __AccDay.value
	func clear_AccDay() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__AccDay.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_AccDay(value : int) -> void:
		__AccDay.value = value
	
	var __RealDay: PBField
	func has_RealDay() -> bool:
		if __RealDay.value != null:
			return true
		return false
	func get_RealDay() -> int:
		return __RealDay.value
	func clear_RealDay() -> void:
		data[3].state = PB_SERVICE_STATE.UNFILLED
		__RealDay.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_RealDay(value : int) -> void:
		__RealDay.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S2S_SyncFunctionTime:

	static var proto_name = "S2S_SyncFunctionTime" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		var __vecFunction_default: Array[S2S_FunctionTimeAcc] = []
		__vecFunction = PBField.new("vecFunction", PB_DATA_TYPE.MESSAGE, PB_RULE.REPEATED, 1, false, __vecFunction_default)
		service = PBServiceField.new()
		service.field = __vecFunction
		service.func_ref = Callable(self, "add_vecFunction")
		data[__vecFunction.tag] = service
		
	var data = {}
	
	var __vecFunction: PBField
	func get_vecFunction() -> Array[S2S_FunctionTimeAcc]:
		return __vecFunction.value
	func clear_vecFunction() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__vecFunction.value.clear()
	func add_vecFunction() -> S2S_FunctionTimeAcc:
		var element = S2S_FunctionTimeAcc.new()
		__vecFunction.value.append(element)
		return element
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class C2S_DressEquipment:

	static var proto_name = "C2S_DressEquipment" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__bagSlotIdx = PBField.new("bagSlotIdx", PB_DATA_TYPE.INT32, PB_RULE.OPTIONAL, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __bagSlotIdx
		data[__bagSlotIdx.tag] = service
		
		__dressSlotIdx = PBField.new("dressSlotIdx", PB_DATA_TYPE.INT32, PB_RULE.OPTIONAL, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __dressSlotIdx
		data[__dressSlotIdx.tag] = service
		
	var data = {}
	
	var __bagSlotIdx: PBField
	func has_bagSlotIdx() -> bool:
		if __bagSlotIdx.value != null:
			return true
		return false
	func get_bagSlotIdx() -> int:
		return __bagSlotIdx.value
	func clear_bagSlotIdx() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__bagSlotIdx.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_bagSlotIdx(value : int) -> void:
		__bagSlotIdx.value = value
	
	var __dressSlotIdx: PBField
	func has_dressSlotIdx() -> bool:
		if __dressSlotIdx.value != null:
			return true
		return false
	func get_dressSlotIdx() -> int:
		return __dressSlotIdx.value
	func clear_dressSlotIdx() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__dressSlotIdx.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_dressSlotIdx(value : int) -> void:
		__dressSlotIdx.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class C2S_Decompose:

	static var proto_name = "C2S_Decompose" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		var __bagSlotIdxs_default: Array[int] = []
		__bagSlotIdxs = PBField.new("bagSlotIdxs", PB_DATA_TYPE.INT32, PB_RULE.REPEATED, 1, false, __bagSlotIdxs_default)
		service = PBServiceField.new()
		service.field = __bagSlotIdxs
		data[__bagSlotIdxs.tag] = service
		
	var data = {}
	
	var __bagSlotIdxs: PBField
	func get_bagSlotIdxs() -> Array[int]:
		return __bagSlotIdxs.value
	func clear_bagSlotIdxs() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__bagSlotIdxs.value.clear()
	func add_bagSlotIdxs(value : int) -> void:
		__bagSlotIdxs.value.append(value)
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class C2S_BagSweepInventory:

	static var proto_name = "C2S_BagSweepInventory" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__bagSlotIdx = PBField.new("bagSlotIdx", PB_DATA_TYPE.INT32, PB_RULE.OPTIONAL, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __bagSlotIdx
		data[__bagSlotIdx.tag] = service
		
		__invSlotIdx = PBField.new("invSlotIdx", PB_DATA_TYPE.INT32, PB_RULE.OPTIONAL, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __invSlotIdx
		data[__invSlotIdx.tag] = service
		
		__itemInvPlace = PBField.new("itemInvPlace", PB_DATA_TYPE.INT32, PB_RULE.OPTIONAL, 3, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __itemInvPlace
		data[__itemInvPlace.tag] = service
		
	var data = {}
	
	var __bagSlotIdx: PBField
	func has_bagSlotIdx() -> bool:
		if __bagSlotIdx.value != null:
			return true
		return false
	func get_bagSlotIdx() -> int:
		return __bagSlotIdx.value
	func clear_bagSlotIdx() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__bagSlotIdx.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_bagSlotIdx(value : int) -> void:
		__bagSlotIdx.value = value
	
	var __invSlotIdx: PBField
	func has_invSlotIdx() -> bool:
		if __invSlotIdx.value != null:
			return true
		return false
	func get_invSlotIdx() -> int:
		return __invSlotIdx.value
	func clear_invSlotIdx() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__invSlotIdx.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_invSlotIdx(value : int) -> void:
		__invSlotIdx.value = value
	
	var __itemInvPlace: PBField
	func has_itemInvPlace() -> bool:
		if __itemInvPlace.value != null:
			return true
		return false
	func get_itemInvPlace() -> int:
		return __itemInvPlace.value
	func clear_itemInvPlace() -> void:
		data[3].state = PB_SERVICE_STATE.UNFILLED
		__itemInvPlace.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_itemInvPlace(value : int) -> void:
		__itemInvPlace.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class C2S_OnUnlockBagSlot:

	static var proto_name = "C2S_OnUnlockBagSlot" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
	var data = {}
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class C2S_OnUnlockInvSlot:

	static var proto_name = "C2S_OnUnlockInvSlot" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
	var data = {}
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class C2S_BuyMoney:

	static var proto_name = "C2S_BuyMoney" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__moneyType = PBField.new("moneyType", PB_DATA_TYPE.INT32, PB_RULE.OPTIONAL, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __moneyType
		data[__moneyType.tag] = service
		
		__cnt = PBField.new("cnt", PB_DATA_TYPE.INT32, PB_RULE.OPTIONAL, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __cnt
		data[__cnt.tag] = service
		
	var data = {}
	
	var __moneyType: PBField
	func has_moneyType() -> bool:
		if __moneyType.value != null:
			return true
		return false
	func get_moneyType() -> int:
		return __moneyType.value
	func clear_moneyType() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__moneyType.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_moneyType(value : int) -> void:
		__moneyType.value = value
	
	var __cnt: PBField
	func has_cnt() -> bool:
		if __cnt.value != null:
			return true
		return false
	func get_cnt() -> int:
		return __cnt.value
	func clear_cnt() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__cnt.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_cnt(value : int) -> void:
		__cnt.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class C2S_UseItem:

	static var proto_name = "C2S_UseItem" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__itemID = PBField.new("itemID", PB_DATA_TYPE.INT32, PB_RULE.OPTIONAL, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __itemID
		data[__itemID.tag] = service
		
		__targetID = PBField.new("targetID", PB_DATA_TYPE.INT64, PB_RULE.OPTIONAL, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT64])
		service = PBServiceField.new()
		service.field = __targetID
		data[__targetID.tag] = service
		
		__context = PBField.new("context", PB_DATA_TYPE.INT64, PB_RULE.OPTIONAL, 3, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT64])
		service = PBServiceField.new()
		service.field = __context
		data[__context.tag] = service
		
	var data = {}
	
	var __itemID: PBField
	func has_itemID() -> bool:
		if __itemID.value != null:
			return true
		return false
	func get_itemID() -> int:
		return __itemID.value
	func clear_itemID() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__itemID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_itemID(value : int) -> void:
		__itemID.value = value
	
	var __targetID: PBField
	func has_targetID() -> bool:
		if __targetID.value != null:
			return true
		return false
	func get_targetID() -> int:
		return __targetID.value
	func clear_targetID() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__targetID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT64]
	func set_targetID(value : int) -> void:
		__targetID.value = value
	
	var __context: PBField
	func has_context() -> bool:
		if __context.value != null:
			return true
		return false
	func get_context() -> int:
		return __context.value
	func clear_context() -> void:
		data[3].state = PB_SERVICE_STATE.UNFILLED
		__context.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT64]
	func set_context(value : int) -> void:
		__context.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class C2S_UseItemByIndex:

	static var proto_name = "C2S_UseItemByIndex" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__itemIndex = PBField.new("itemIndex", PB_DATA_TYPE.INT32, PB_RULE.OPTIONAL, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __itemIndex
		data[__itemIndex.tag] = service
		
		__itemID = PBField.new("itemID", PB_DATA_TYPE.INT32, PB_RULE.OPTIONAL, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __itemID
		data[__itemID.tag] = service
		
		__targetID = PBField.new("targetID", PB_DATA_TYPE.INT64, PB_RULE.OPTIONAL, 3, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT64])
		service = PBServiceField.new()
		service.field = __targetID
		data[__targetID.tag] = service
		
		__context = PBField.new("context", PB_DATA_TYPE.INT64, PB_RULE.OPTIONAL, 4, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT64])
		service = PBServiceField.new()
		service.field = __context
		data[__context.tag] = service
		
	var data = {}
	
	var __itemIndex: PBField
	func has_itemIndex() -> bool:
		if __itemIndex.value != null:
			return true
		return false
	func get_itemIndex() -> int:
		return __itemIndex.value
	func clear_itemIndex() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__itemIndex.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_itemIndex(value : int) -> void:
		__itemIndex.value = value
	
	var __itemID: PBField
	func has_itemID() -> bool:
		if __itemID.value != null:
			return true
		return false
	func get_itemID() -> int:
		return __itemID.value
	func clear_itemID() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__itemID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_itemID(value : int) -> void:
		__itemID.value = value
	
	var __targetID: PBField
	func has_targetID() -> bool:
		if __targetID.value != null:
			return true
		return false
	func get_targetID() -> int:
		return __targetID.value
	func clear_targetID() -> void:
		data[3].state = PB_SERVICE_STATE.UNFILLED
		__targetID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT64]
	func set_targetID(value : int) -> void:
		__targetID.value = value
	
	var __context: PBField
	func has_context() -> bool:
		if __context.value != null:
			return true
		return false
	func get_context() -> int:
		return __context.value
	func clear_context() -> void:
		data[4].state = PB_SERVICE_STATE.UNFILLED
		__context.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT64]
	func set_context(value : int) -> void:
		__context.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class C2S_GetGift:

	static var proto_name = "C2S_GetGift" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__ItemIndex = PBField.new("ItemIndex", PB_DATA_TYPE.INT64, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT64])
		service = PBServiceField.new()
		service.field = __ItemIndex
		data[__ItemIndex.tag] = service
		
		__ItemID = PBField.new("ItemID", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __ItemID
		data[__ItemID.tag] = service
		
		__ItemCount = PBField.new("ItemCount", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 3, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __ItemCount
		data[__ItemCount.tag] = service
		
		var __GiftPool_default: Array[int] = []
		__GiftPool = PBField.new("GiftPool", PB_DATA_TYPE.INT32, PB_RULE.REPEATED, 4, false, __GiftPool_default)
		service = PBServiceField.new()
		service.field = __GiftPool
		data[__GiftPool.tag] = service
		
	var data = {}
	
	var __ItemIndex: PBField
	func get_ItemIndex() -> int:
		return __ItemIndex.value
	func clear_ItemIndex() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__ItemIndex.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT64]
	func set_ItemIndex(value : int) -> void:
		__ItemIndex.value = value
	
	var __ItemID: PBField
	func get_ItemID() -> int:
		return __ItemID.value
	func clear_ItemID() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__ItemID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_ItemID(value : int) -> void:
		__ItemID.value = value
	
	var __ItemCount: PBField
	func get_ItemCount() -> int:
		return __ItemCount.value
	func clear_ItemCount() -> void:
		data[3].state = PB_SERVICE_STATE.UNFILLED
		__ItemCount.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_ItemCount(value : int) -> void:
		__ItemCount.value = value
	
	var __GiftPool: PBField
	func get_GiftPool() -> Array[int]:
		return __GiftPool.value
	func clear_GiftPool() -> void:
		data[4].state = PB_SERVICE_STATE.UNFILLED
		__GiftPool.value.clear()
	func add_GiftPool(value : int) -> void:
		__GiftPool.value.append(value)
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class GetGiftResult:

	static var proto_name = "GetGiftResult" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__ItemID = PBField.new("ItemID", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __ItemID
		data[__ItemID.tag] = service
		
		__ItemCount = PBField.new("ItemCount", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __ItemCount
		data[__ItemCount.tag] = service
		
		__OldItemCount = PBField.new("OldItemCount", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 3, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __OldItemCount
		data[__OldItemCount.tag] = service
		
	var data = {}
	
	var __ItemID: PBField
	func get_ItemID() -> int:
		return __ItemID.value
	func clear_ItemID() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__ItemID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_ItemID(value : int) -> void:
		__ItemID.value = value
	
	var __ItemCount: PBField
	func get_ItemCount() -> int:
		return __ItemCount.value
	func clear_ItemCount() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__ItemCount.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_ItemCount(value : int) -> void:
		__ItemCount.value = value
	
	var __OldItemCount: PBField
	func get_OldItemCount() -> int:
		return __OldItemCount.value
	func clear_OldItemCount() -> void:
		data[3].state = PB_SERVICE_STATE.UNFILLED
		__OldItemCount.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_OldItemCount(value : int) -> void:
		__OldItemCount.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S2C_GetItemResult:

	static var proto_name = "S2C_GetItemResult" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nResult = PBField.new("nResult", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nResult
		data[__nResult.tag] = service
		
		var __ItemInfo_default: Array[GetGiftResult] = []
		__ItemInfo = PBField.new("ItemInfo", PB_DATA_TYPE.MESSAGE, PB_RULE.REPEATED, 2, false, __ItemInfo_default)
		service = PBServiceField.new()
		service.field = __ItemInfo
		service.func_ref = Callable(self, "add_ItemInfo")
		data[__ItemInfo.tag] = service
		
	var data = {}
	
	var __nResult: PBField
	func get_nResult() -> int:
		return __nResult.value
	func clear_nResult() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nResult.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nResult(value : int) -> void:
		__nResult.value = value
	
	var __ItemInfo: PBField
	func get_ItemInfo() -> Array[GetGiftResult]:
		return __ItemInfo.value
	func clear_ItemInfo() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__ItemInfo.value.clear()
	func add_ItemInfo() -> GetGiftResult:
		var element = GetGiftResult.new()
		__ItemInfo.value.append(element)
		return element
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S2C_UseItemResult:

	static var proto_name = "S2C_UseItemResult" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__result = PBField.new("result", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __result
		data[__result.tag] = service
		
	var data = {}
	
	var __result: PBField
	func get_result() -> int:
		return __result.value
	func clear_result() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__result.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_result(value : int) -> void:
		__result.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class C2S_StrengthenProtect:

	static var proto_name = "C2S_StrengthenProtect" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__dressCellIdx = PBField.new("dressCellIdx", PB_DATA_TYPE.INT32, PB_RULE.OPTIONAL, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __dressCellIdx
		data[__dressCellIdx.tag] = service
		
		__nStrengthCount = PBField.new("nStrengthCount", PB_DATA_TYPE.INT32, PB_RULE.OPTIONAL, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nStrengthCount
		data[__nStrengthCount.tag] = service
		
	var data = {}
	
	var __dressCellIdx: PBField
	func has_dressCellIdx() -> bool:
		if __dressCellIdx.value != null:
			return true
		return false
	func get_dressCellIdx() -> int:
		return __dressCellIdx.value
	func clear_dressCellIdx() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__dressCellIdx.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_dressCellIdx(value : int) -> void:
		__dressCellIdx.value = value
	
	var __nStrengthCount: PBField
	func has_nStrengthCount() -> bool:
		if __nStrengthCount.value != null:
			return true
		return false
	func get_nStrengthCount() -> int:
		return __nStrengthCount.value
	func clear_nStrengthCount() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__nStrengthCount.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nStrengthCount(value : int) -> void:
		__nStrengthCount.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class C2S_MulStrengthenProtect:

	static var proto_name = "C2S_MulStrengthenProtect" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
	var data = {}
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class StrengthenWeaponCost:

	static var proto_name = "StrengthenWeaponCost" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nCostBagSlotIdx = PBField.new("nCostBagSlotIdx", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nCostBagSlotIdx
		data[__nCostBagSlotIdx.tag] = service
		
		__nCostItemCount = PBField.new("nCostItemCount", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nCostItemCount
		data[__nCostItemCount.tag] = service
		
	var data = {}
	
	var __nCostBagSlotIdx: PBField
	func get_nCostBagSlotIdx() -> int:
		return __nCostBagSlotIdx.value
	func clear_nCostBagSlotIdx() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nCostBagSlotIdx.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nCostBagSlotIdx(value : int) -> void:
		__nCostBagSlotIdx.value = value
	
	var __nCostItemCount: PBField
	func get_nCostItemCount() -> int:
		return __nCostItemCount.value
	func clear_nCostItemCount() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__nCostItemCount.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nCostItemCount(value : int) -> void:
		__nCostItemCount.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class C2S_StrengthenWeapon:

	static var proto_name = "C2S_StrengthenWeapon" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__bagSlotIdx = PBField.new("bagSlotIdx", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __bagSlotIdx
		data[__bagSlotIdx.tag] = service
		
		__dressSlotIdx = PBField.new("dressSlotIdx", PB_DATA_TYPE.INT32, PB_RULE.OPTIONAL, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __dressSlotIdx
		data[__dressSlotIdx.tag] = service
		
		__nStrengthCount = PBField.new("nStrengthCount", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 3, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nStrengthCount
		data[__nStrengthCount.tag] = service
		
	var data = {}
	
	var __bagSlotIdx: PBField
	func get_bagSlotIdx() -> int:
		return __bagSlotIdx.value
	func clear_bagSlotIdx() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__bagSlotIdx.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_bagSlotIdx(value : int) -> void:
		__bagSlotIdx.value = value
	
	var __dressSlotIdx: PBField
	func has_dressSlotIdx() -> bool:
		if __dressSlotIdx.value != null:
			return true
		return false
	func get_dressSlotIdx() -> int:
		return __dressSlotIdx.value
	func clear_dressSlotIdx() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__dressSlotIdx.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_dressSlotIdx(value : int) -> void:
		__dressSlotIdx.value = value
	
	var __nStrengthCount: PBField
	func get_nStrengthCount() -> int:
		return __nStrengthCount.value
	func clear_nStrengthCount() -> void:
		data[3].state = PB_SERVICE_STATE.UNFILLED
		__nStrengthCount.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nStrengthCount(value : int) -> void:
		__nStrengthCount.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class C2S_UpgradeStarWeapon:

	static var proto_name = "C2S_UpgradeStarWeapon" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__bagSlotIdx = PBField.new("bagSlotIdx", PB_DATA_TYPE.INT32, PB_RULE.OPTIONAL, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __bagSlotIdx
		data[__bagSlotIdx.tag] = service
		
		__dressSlotIdx = PBField.new("dressSlotIdx", PB_DATA_TYPE.INT32, PB_RULE.OPTIONAL, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __dressSlotIdx
		data[__dressSlotIdx.tag] = service
		
		var __costItem_default: Array[StrengthenWeaponCost] = []
		__costItem = PBField.new("costItem", PB_DATA_TYPE.MESSAGE, PB_RULE.REPEATED, 3, false, __costItem_default)
		service = PBServiceField.new()
		service.field = __costItem
		service.func_ref = Callable(self, "add_costItem")
		data[__costItem.tag] = service
		
	var data = {}
	
	var __bagSlotIdx: PBField
	func has_bagSlotIdx() -> bool:
		if __bagSlotIdx.value != null:
			return true
		return false
	func get_bagSlotIdx() -> int:
		return __bagSlotIdx.value
	func clear_bagSlotIdx() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__bagSlotIdx.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_bagSlotIdx(value : int) -> void:
		__bagSlotIdx.value = value
	
	var __dressSlotIdx: PBField
	func has_dressSlotIdx() -> bool:
		if __dressSlotIdx.value != null:
			return true
		return false
	func get_dressSlotIdx() -> int:
		return __dressSlotIdx.value
	func clear_dressSlotIdx() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__dressSlotIdx.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_dressSlotIdx(value : int) -> void:
		__dressSlotIdx.value = value
	
	var __costItem: PBField
	func get_costItem() -> Array[StrengthenWeaponCost]:
		return __costItem.value
	func clear_costItem() -> void:
		data[3].state = PB_SERVICE_STATE.UNFILLED
		__costItem.value.clear()
	func add_costItem() -> StrengthenWeaponCost:
		var element = StrengthenWeaponCost.new()
		__costItem.value.append(element)
		return element
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class C2S_ConfirmInsuranceWeapon:

	static var proto_name = "C2S_ConfirmInsuranceWeapon" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__bagSlotIdx = PBField.new("bagSlotIdx", PB_DATA_TYPE.INT32, PB_RULE.OPTIONAL, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __bagSlotIdx
		data[__bagSlotIdx.tag] = service
		
		__dressSlotIdx = PBField.new("dressSlotIdx", PB_DATA_TYPE.INT32, PB_RULE.OPTIONAL, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __dressSlotIdx
		data[__dressSlotIdx.tag] = service
		
		__insuranceSlotIdx = PBField.new("insuranceSlotIdx", PB_DATA_TYPE.INT32, PB_RULE.OPTIONAL, 3, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __insuranceSlotIdx
		data[__insuranceSlotIdx.tag] = service
		
	var data = {}
	
	var __bagSlotIdx: PBField
	func has_bagSlotIdx() -> bool:
		if __bagSlotIdx.value != null:
			return true
		return false
	func get_bagSlotIdx() -> int:
		return __bagSlotIdx.value
	func clear_bagSlotIdx() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__bagSlotIdx.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_bagSlotIdx(value : int) -> void:
		__bagSlotIdx.value = value
	
	var __dressSlotIdx: PBField
	func has_dressSlotIdx() -> bool:
		if __dressSlotIdx.value != null:
			return true
		return false
	func get_dressSlotIdx() -> int:
		return __dressSlotIdx.value
	func clear_dressSlotIdx() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__dressSlotIdx.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_dressSlotIdx(value : int) -> void:
		__dressSlotIdx.value = value
	
	var __insuranceSlotIdx: PBField
	func has_insuranceSlotIdx() -> bool:
		if __insuranceSlotIdx.value != null:
			return true
		return false
	func get_insuranceSlotIdx() -> int:
		return __insuranceSlotIdx.value
	func clear_insuranceSlotIdx() -> void:
		data[3].state = PB_SERVICE_STATE.UNFILLED
		__insuranceSlotIdx.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_insuranceSlotIdx(value : int) -> void:
		__insuranceSlotIdx.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class C2S_ReceiveInsuranceWeapon:

	static var proto_name = "C2S_ReceiveInsuranceWeapon" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__insuranceSlotIdx = PBField.new("insuranceSlotIdx", PB_DATA_TYPE.INT32, PB_RULE.OPTIONAL, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __insuranceSlotIdx
		data[__insuranceSlotIdx.tag] = service
		
	var data = {}
	
	var __insuranceSlotIdx: PBField
	func has_insuranceSlotIdx() -> bool:
		if __insuranceSlotIdx.value != null:
			return true
		return false
	func get_insuranceSlotIdx() -> int:
		return __insuranceSlotIdx.value
	func clear_insuranceSlotIdx() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__insuranceSlotIdx.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_insuranceSlotIdx(value : int) -> void:
		__insuranceSlotIdx.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class C2S_UnlockInsuranceWeapon:

	static var proto_name = "C2S_UnlockInsuranceWeapon" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__insuranceSlotIdx = PBField.new("insuranceSlotIdx", PB_DATA_TYPE.INT32, PB_RULE.OPTIONAL, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __insuranceSlotIdx
		data[__insuranceSlotIdx.tag] = service
		
	var data = {}
	
	var __insuranceSlotIdx: PBField
	func has_insuranceSlotIdx() -> bool:
		if __insuranceSlotIdx.value != null:
			return true
		return false
	func get_insuranceSlotIdx() -> int:
		return __insuranceSlotIdx.value
	func clear_insuranceSlotIdx() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__insuranceSlotIdx.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_insuranceSlotIdx(value : int) -> void:
		__insuranceSlotIdx.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class C2S_SubItem:

	static var proto_name = "C2S_SubItem" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nItemId = PBField.new("nItemId", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nItemId
		data[__nItemId.tag] = service
		
		__nItemCount = PBField.new("nItemCount", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nItemCount
		data[__nItemCount.tag] = service
		
	var data = {}
	
	var __nItemId: PBField
	func get_nItemId() -> int:
		return __nItemId.value
	func clear_nItemId() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nItemId.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nItemId(value : int) -> void:
		__nItemId.value = value
	
	var __nItemCount: PBField
	func get_nItemCount() -> int:
		return __nItemCount.value
	func clear_nItemCount() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__nItemCount.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nItemCount(value : int) -> void:
		__nItemCount.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class C2S_SubItemByIndex:

	static var proto_name = "C2S_SubItemByIndex" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nItemIndex = PBField.new("nItemIndex", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nItemIndex
		data[__nItemIndex.tag] = service
		
		__nItemCount = PBField.new("nItemCount", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nItemCount
		data[__nItemCount.tag] = service
		
		__nItemId = PBField.new("nItemId", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 3, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nItemId
		data[__nItemId.tag] = service
		
	var data = {}
	
	var __nItemIndex: PBField
	func get_nItemIndex() -> int:
		return __nItemIndex.value
	func clear_nItemIndex() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nItemIndex.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nItemIndex(value : int) -> void:
		__nItemIndex.value = value
	
	var __nItemCount: PBField
	func get_nItemCount() -> int:
		return __nItemCount.value
	func clear_nItemCount() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__nItemCount.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nItemCount(value : int) -> void:
		__nItemCount.value = value
	
	var __nItemId: PBField
	func get_nItemId() -> int:
		return __nItemId.value
	func clear_nItemId() -> void:
		data[3].state = PB_SERVICE_STATE.UNFILLED
		__nItemId.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nItemId(value : int) -> void:
		__nItemId.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class C2S_ExchangeItem:

	static var proto_name = "C2S_ExchangeItem" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nItemId = PBField.new("nItemId", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nItemId
		data[__nItemId.tag] = service
		
		__nItemIndex = PBField.new("nItemIndex", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nItemIndex
		data[__nItemIndex.tag] = service
		
		__nItemCount = PBField.new("nItemCount", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 3, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nItemCount
		data[__nItemCount.tag] = service
		
	var data = {}
	
	var __nItemId: PBField
	func get_nItemId() -> int:
		return __nItemId.value
	func clear_nItemId() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nItemId.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nItemId(value : int) -> void:
		__nItemId.value = value
	
	var __nItemIndex: PBField
	func get_nItemIndex() -> int:
		return __nItemIndex.value
	func clear_nItemIndex() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__nItemIndex.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nItemIndex(value : int) -> void:
		__nItemIndex.value = value
	
	var __nItemCount: PBField
	func get_nItemCount() -> int:
		return __nItemCount.value
	func clear_nItemCount() -> void:
		data[3].state = PB_SERVICE_STATE.UNFILLED
		__nItemCount.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nItemCount(value : int) -> void:
		__nItemCount.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class C2S_EquBlessing:

	static var proto_name = "C2S_EquBlessing" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nItemIndex = PBField.new("nItemIndex", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nItemIndex
		data[__nItemIndex.tag] = service
		
		__nItemID = PBField.new("nItemID", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nItemID
		data[__nItemID.tag] = service
		
		__nElementIndex = PBField.new("nElementIndex", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 3, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nElementIndex
		data[__nElementIndex.tag] = service
		
		__nDressed = PBField.new("nDressed", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 4, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nDressed
		data[__nDressed.tag] = service
		
	var data = {}
	
	var __nItemIndex: PBField
	func get_nItemIndex() -> int:
		return __nItemIndex.value
	func clear_nItemIndex() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nItemIndex.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nItemIndex(value : int) -> void:
		__nItemIndex.value = value
	
	var __nItemID: PBField
	func get_nItemID() -> int:
		return __nItemID.value
	func clear_nItemID() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__nItemID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nItemID(value : int) -> void:
		__nItemID.value = value
	
	var __nElementIndex: PBField
	func get_nElementIndex() -> int:
		return __nElementIndex.value
	func clear_nElementIndex() -> void:
		data[3].state = PB_SERVICE_STATE.UNFILLED
		__nElementIndex.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nElementIndex(value : int) -> void:
		__nElementIndex.value = value
	
	var __nDressed: PBField
	func get_nDressed() -> int:
		return __nDressed.value
	func clear_nDressed() -> void:
		data[4].state = PB_SERVICE_STATE.UNFILLED
		__nDressed.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nDressed(value : int) -> void:
		__nDressed.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class C2S_ComposeItem:

	static var proto_name = "C2S_ComposeItem" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nComposeID = PBField.new("nComposeID", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nComposeID
		data[__nComposeID.tag] = service
		
	var data = {}
	
	var __nComposeID: PBField
	func get_nComposeID() -> int:
		return __nComposeID.value
	func clear_nComposeID() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nComposeID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nComposeID(value : int) -> void:
		__nComposeID.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class PlayerLoginInfo:

	static var proto_name = "PlayerLoginInfo" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__dPlayerID = PBField.new("dPlayerID", PB_DATA_TYPE.DOUBLE, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __dPlayerID
		data[__dPlayerID.tag] = service
		
		__nLevel = PBField.new("nLevel", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nLevel
		data[__nLevel.tag] = service
		
		__strNickName = PBField.new("strNickName", PB_DATA_TYPE.STRING, PB_RULE.REQUIRED, 3, false, DEFAULT_VALUES_2[PB_DATA_TYPE.STRING])
		service = PBServiceField.new()
		service.field = __strNickName
		data[__strNickName.tag] = service
		
		__nGameServerID = PBField.new("nGameServerID", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 4, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nGameServerID
		data[__nGameServerID.tag] = service
		
	var data = {}
	
	var __dPlayerID: PBField
	func get_dPlayerID() -> float:
		return __dPlayerID.value
	func clear_dPlayerID() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__dPlayerID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_dPlayerID(value : float) -> void:
		__dPlayerID.value = value
	
	var __nLevel: PBField
	func get_nLevel() -> int:
		return __nLevel.value
	func clear_nLevel() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__nLevel.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nLevel(value : int) -> void:
		__nLevel.value = value
	
	var __strNickName: PBField
	func get_strNickName() -> String:
		return __strNickName.value
	func clear_strNickName() -> void:
		data[3].state = PB_SERVICE_STATE.UNFILLED
		__strNickName.value = DEFAULT_VALUES_2[PB_DATA_TYPE.STRING]
	func set_strNickName(value : String) -> void:
		__strNickName.value = value
	
	var __nGameServerID: PBField
	func get_nGameServerID() -> int:
		return __nGameServerID.value
	func clear_nGameServerID() -> void:
		data[4].state = PB_SERVICE_STATE.UNFILLED
		__nGameServerID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nGameServerID(value : int) -> void:
		__nGameServerID.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class C2L_LoginGame:

	static var proto_name = "C2L_LoginGame" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__strAccountName = PBField.new("strAccountName", PB_DATA_TYPE.STRING, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.STRING])
		service = PBServiceField.new()
		service.field = __strAccountName
		data[__strAccountName.tag] = service
		
		__strToken = PBField.new("strToken", PB_DATA_TYPE.STRING, PB_RULE.OPTIONAL, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.STRING])
		service = PBServiceField.new()
		service.field = __strToken
		data[__strToken.tag] = service
		
		__nTime = PBField.new("nTime", PB_DATA_TYPE.INT32, PB_RULE.OPTIONAL, 3, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nTime
		data[__nTime.tag] = service
		
		__nServerId = PBField.new("nServerId", PB_DATA_TYPE.INT32, PB_RULE.OPTIONAL, 4, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nServerId
		data[__nServerId.tag] = service
		
		__nCommonVersion = PBField.new("nCommonVersion", PB_DATA_TYPE.INT32, PB_RULE.OPTIONAL, 5, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nCommonVersion
		data[__nCommonVersion.tag] = service
		
	var data = {}
	
	var __strAccountName: PBField
	func get_strAccountName() -> String:
		return __strAccountName.value
	func clear_strAccountName() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__strAccountName.value = DEFAULT_VALUES_2[PB_DATA_TYPE.STRING]
	func set_strAccountName(value : String) -> void:
		__strAccountName.value = value
	
	var __strToken: PBField
	func has_strToken() -> bool:
		if __strToken.value != null:
			return true
		return false
	func get_strToken() -> String:
		return __strToken.value
	func clear_strToken() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__strToken.value = DEFAULT_VALUES_2[PB_DATA_TYPE.STRING]
	func set_strToken(value : String) -> void:
		__strToken.value = value
	
	var __nTime: PBField
	func has_nTime() -> bool:
		if __nTime.value != null:
			return true
		return false
	func get_nTime() -> int:
		return __nTime.value
	func clear_nTime() -> void:
		data[3].state = PB_SERVICE_STATE.UNFILLED
		__nTime.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nTime(value : int) -> void:
		__nTime.value = value
	
	var __nServerId: PBField
	func has_nServerId() -> bool:
		if __nServerId.value != null:
			return true
		return false
	func get_nServerId() -> int:
		return __nServerId.value
	func clear_nServerId() -> void:
		data[4].state = PB_SERVICE_STATE.UNFILLED
		__nServerId.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nServerId(value : int) -> void:
		__nServerId.value = value
	
	var __nCommonVersion: PBField
	func has_nCommonVersion() -> bool:
		if __nCommonVersion.value != null:
			return true
		return false
	func get_nCommonVersion() -> int:
		return __nCommonVersion.value
	func clear_nCommonVersion() -> void:
		data[5].state = PB_SERVICE_STATE.UNFILLED
		__nCommonVersion.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nCommonVersion(value : int) -> void:
		__nCommonVersion.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class L2C_LoginGame:

	static var proto_name = "L2C_LoginGame" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nRetCode = PBField.new("nRetCode", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nRetCode
		data[__nRetCode.tag] = service
		
		var __vecPlayer_default: Array[PlayerLoginInfo] = []
		__vecPlayer = PBField.new("vecPlayer", PB_DATA_TYPE.MESSAGE, PB_RULE.REPEATED, 2, false, __vecPlayer_default)
		service = PBServiceField.new()
		service.field = __vecPlayer
		service.func_ref = Callable(self, "add_vecPlayer")
		data[__vecPlayer.tag] = service
		
	var data = {}
	
	var __nRetCode: PBField
	func get_nRetCode() -> int:
		return __nRetCode.value
	func clear_nRetCode() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nRetCode.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nRetCode(value : int) -> void:
		__nRetCode.value = value
	
	var __vecPlayer: PBField
	func get_vecPlayer() -> Array[PlayerLoginInfo]:
		return __vecPlayer.value
	func clear_vecPlayer() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__vecPlayer.value.clear()
	func add_vecPlayer() -> PlayerLoginInfo:
		var element = PlayerLoginInfo.new()
		__vecPlayer.value.append(element)
		return element
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class C2L_CreateUser:

	static var proto_name = "C2L_CreateUser" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__strUserName = PBField.new("strUserName", PB_DATA_TYPE.STRING, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.STRING])
		service = PBServiceField.new()
		service.field = __strUserName
		data[__strUserName.tag] = service
		
	var data = {}
	
	var __strUserName: PBField
	func get_strUserName() -> String:
		return __strUserName.value
	func clear_strUserName() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__strUserName.value = DEFAULT_VALUES_2[PB_DATA_TYPE.STRING]
	func set_strUserName(value : String) -> void:
		__strUserName.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class L2C_CreateUser:

	static var proto_name = "L2C_CreateUser" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nRetCode = PBField.new("nRetCode", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nRetCode
		data[__nRetCode.tag] = service
		
	var data = {}
	
	var __nRetCode: PBField
	func get_nRetCode() -> int:
		return __nRetCode.value
	func clear_nRetCode() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nRetCode.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nRetCode(value : int) -> void:
		__nRetCode.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class C2L_CreatePlayer:

	static var proto_name = "C2L_CreatePlayer" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__strCharName = PBField.new("strCharName", PB_DATA_TYPE.STRING, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.STRING])
		service = PBServiceField.new()
		service.field = __strCharName
		data[__strCharName.tag] = service
		
	var data = {}
	
	var __strCharName: PBField
	func get_strCharName() -> String:
		return __strCharName.value
	func clear_strCharName() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__strCharName.value = DEFAULT_VALUES_2[PB_DATA_TYPE.STRING]
	func set_strCharName(value : String) -> void:
		__strCharName.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class L2C_CreatePlayer:

	static var proto_name = "L2C_CreatePlayer" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nRetCode = PBField.new("nRetCode", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nRetCode
		data[__nRetCode.tag] = service
		
		__accountID = PBField.new("accountID", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __accountID
		data[__accountID.tag] = service
		
		__playerID = PBField.new("playerID", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 3, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __playerID
		data[__playerID.tag] = service
		
	var data = {}
	
	var __nRetCode: PBField
	func get_nRetCode() -> int:
		return __nRetCode.value
	func clear_nRetCode() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nRetCode.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nRetCode(value : int) -> void:
		__nRetCode.value = value
	
	var __accountID: PBField
	func get_accountID() -> int:
		return __accountID.value
	func clear_accountID() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__accountID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_accountID(value : int) -> void:
		__accountID.value = value
	
	var __playerID: PBField
	func get_playerID() -> int:
		return __playerID.value
	func clear_playerID() -> void:
		data[3].state = PB_SERVICE_STATE.UNFILLED
		__playerID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_playerID(value : int) -> void:
		__playerID.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class C2L_LoginPlayer:

	static var proto_name = "C2L_LoginPlayer" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__strIP = PBField.new("strIP", PB_DATA_TYPE.STRING, PB_RULE.REQUIRED, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.STRING])
		service = PBServiceField.new()
		service.field = __strIP
		data[__strIP.tag] = service
		
		__nPort = PBField.new("nPort", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 3, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nPort
		data[__nPort.tag] = service
		
	var data = {}
	
	var __strIP: PBField
	func get_strIP() -> String:
		return __strIP.value
	func clear_strIP() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__strIP.value = DEFAULT_VALUES_2[PB_DATA_TYPE.STRING]
	func set_strIP(value : String) -> void:
		__strIP.value = value
	
	var __nPort: PBField
	func get_nPort() -> int:
		return __nPort.value
	func clear_nPort() -> void:
		data[3].state = PB_SERVICE_STATE.UNFILLED
		__nPort.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nPort(value : int) -> void:
		__nPort.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class L2C_LoginPlayer:

	static var proto_name = "L2C_LoginPlayer" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nRetCode = PBField.new("nRetCode", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nRetCode
		data[__nRetCode.tag] = service
		
		__strGameServerIP = PBField.new("strGameServerIP", PB_DATA_TYPE.STRING, PB_RULE.REQUIRED, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.STRING])
		service = PBServiceField.new()
		service.field = __strGameServerIP
		data[__strGameServerIP.tag] = service
		
		__nGameServerPort = PBField.new("nGameServerPort", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 3, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nGameServerPort
		data[__nGameServerPort.tag] = service
		
		__dPlayerID = PBField.new("dPlayerID", PB_DATA_TYPE.DOUBLE, PB_RULE.REQUIRED, 4, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __dPlayerID
		data[__dPlayerID.tag] = service
		
		__nToken = PBField.new("nToken", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 5, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nToken
		data[__nToken.tag] = service
		
		__nGameLineID = PBField.new("nGameLineID", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 6, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nGameLineID
		data[__nGameLineID.tag] = service
		
	var data = {}
	
	var __nRetCode: PBField
	func get_nRetCode() -> int:
		return __nRetCode.value
	func clear_nRetCode() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nRetCode.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nRetCode(value : int) -> void:
		__nRetCode.value = value
	
	var __strGameServerIP: PBField
	func get_strGameServerIP() -> String:
		return __strGameServerIP.value
	func clear_strGameServerIP() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__strGameServerIP.value = DEFAULT_VALUES_2[PB_DATA_TYPE.STRING]
	func set_strGameServerIP(value : String) -> void:
		__strGameServerIP.value = value
	
	var __nGameServerPort: PBField
	func get_nGameServerPort() -> int:
		return __nGameServerPort.value
	func clear_nGameServerPort() -> void:
		data[3].state = PB_SERVICE_STATE.UNFILLED
		__nGameServerPort.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nGameServerPort(value : int) -> void:
		__nGameServerPort.value = value
	
	var __dPlayerID: PBField
	func get_dPlayerID() -> float:
		return __dPlayerID.value
	func clear_dPlayerID() -> void:
		data[4].state = PB_SERVICE_STATE.UNFILLED
		__dPlayerID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_dPlayerID(value : float) -> void:
		__dPlayerID.value = value
	
	var __nToken: PBField
	func get_nToken() -> int:
		return __nToken.value
	func clear_nToken() -> void:
		data[5].state = PB_SERVICE_STATE.UNFILLED
		__nToken.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nToken(value : int) -> void:
		__nToken.value = value
	
	var __nGameLineID: PBField
	func get_nGameLineID() -> int:
		return __nGameLineID.value
	func clear_nGameLineID() -> void:
		data[6].state = PB_SERVICE_STATE.UNFILLED
		__nGameLineID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nGameLineID(value : int) -> void:
		__nGameLineID.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S2C_SwitchGameServer:

	static var proto_name = "S2C_SwitchGameServer" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nRetCode = PBField.new("nRetCode", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nRetCode
		data[__nRetCode.tag] = service
		
		__strGameServerIP = PBField.new("strGameServerIP", PB_DATA_TYPE.STRING, PB_RULE.REQUIRED, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.STRING])
		service = PBServiceField.new()
		service.field = __strGameServerIP
		data[__strGameServerIP.tag] = service
		
		__nGameServerPort = PBField.new("nGameServerPort", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 3, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nGameServerPort
		data[__nGameServerPort.tag] = service
		
		__dPlayerID = PBField.new("dPlayerID", PB_DATA_TYPE.DOUBLE, PB_RULE.REQUIRED, 4, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __dPlayerID
		data[__dPlayerID.tag] = service
		
		__nToken = PBField.new("nToken", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 5, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nToken
		data[__nToken.tag] = service
		
		__nGameLineID = PBField.new("nGameLineID", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 6, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nGameLineID
		data[__nGameLineID.tag] = service
		
	var data = {}
	
	var __nRetCode: PBField
	func get_nRetCode() -> int:
		return __nRetCode.value
	func clear_nRetCode() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nRetCode.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nRetCode(value : int) -> void:
		__nRetCode.value = value
	
	var __strGameServerIP: PBField
	func get_strGameServerIP() -> String:
		return __strGameServerIP.value
	func clear_strGameServerIP() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__strGameServerIP.value = DEFAULT_VALUES_2[PB_DATA_TYPE.STRING]
	func set_strGameServerIP(value : String) -> void:
		__strGameServerIP.value = value
	
	var __nGameServerPort: PBField
	func get_nGameServerPort() -> int:
		return __nGameServerPort.value
	func clear_nGameServerPort() -> void:
		data[3].state = PB_SERVICE_STATE.UNFILLED
		__nGameServerPort.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nGameServerPort(value : int) -> void:
		__nGameServerPort.value = value
	
	var __dPlayerID: PBField
	func get_dPlayerID() -> float:
		return __dPlayerID.value
	func clear_dPlayerID() -> void:
		data[4].state = PB_SERVICE_STATE.UNFILLED
		__dPlayerID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_dPlayerID(value : float) -> void:
		__dPlayerID.value = value
	
	var __nToken: PBField
	func get_nToken() -> int:
		return __nToken.value
	func clear_nToken() -> void:
		data[5].state = PB_SERVICE_STATE.UNFILLED
		__nToken.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nToken(value : int) -> void:
		__nToken.value = value
	
	var __nGameLineID: PBField
	func get_nGameLineID() -> int:
		return __nGameLineID.value
	func clear_nGameLineID() -> void:
		data[6].state = PB_SERVICE_STATE.UNFILLED
		__nGameLineID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nGameLineID(value : int) -> void:
		__nGameLineID.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S_L2C_KickPlayer:

	static var proto_name = "S_L2C_KickPlayer" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__dPlayerID = PBField.new("dPlayerID", PB_DATA_TYPE.DOUBLE, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __dPlayerID
		data[__dPlayerID.tag] = service
		
		__nReason = PBField.new("nReason", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nReason
		data[__nReason.tag] = service
		
	var data = {}
	
	var __dPlayerID: PBField
	func get_dPlayerID() -> float:
		return __dPlayerID.value
	func clear_dPlayerID() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__dPlayerID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_dPlayerID(value : float) -> void:
		__dPlayerID.value = value
	
	var __nReason: PBField
	func get_nReason() -> int:
		return __nReason.value
	func clear_nReason() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__nReason.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nReason(value : int) -> void:
		__nReason.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S_C2L_KickPlayer:

	static var proto_name = "S_C2L_KickPlayer" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nRetCode = PBField.new("nRetCode", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nRetCode
		data[__nRetCode.tag] = service
		
		__dPlayerID = PBField.new("dPlayerID", PB_DATA_TYPE.DOUBLE, PB_RULE.REQUIRED, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __dPlayerID
		data[__dPlayerID.tag] = service
		
	var data = {}
	
	var __nRetCode: PBField
	func get_nRetCode() -> int:
		return __nRetCode.value
	func clear_nRetCode() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nRetCode.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nRetCode(value : int) -> void:
		__nRetCode.value = value
	
	var __dPlayerID: PBField
	func get_dPlayerID() -> float:
		return __dPlayerID.value
	func clear_dPlayerID() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__dPlayerID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_dPlayerID(value : float) -> void:
		__dPlayerID.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class C2S_LoginGameServer:

	static var proto_name = "C2S_LoginGameServer" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__dPlayerID = PBField.new("dPlayerID", PB_DATA_TYPE.DOUBLE, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __dPlayerID
		data[__dPlayerID.tag] = service
		
		__nToken = PBField.new("nToken", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nToken
		data[__nToken.tag] = service
		
		__nIsPhone = PBField.new("nIsPhone", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 3, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nIsPhone
		data[__nIsPhone.tag] = service
		
		__nLang = PBField.new("nLang", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 4, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nLang
		data[__nLang.tag] = service
		
		__strNation = PBField.new("strNation", PB_DATA_TYPE.STRING, PB_RULE.REQUIRED, 5, false, DEFAULT_VALUES_2[PB_DATA_TYPE.STRING])
		service = PBServiceField.new()
		service.field = __strNation
		data[__strNation.tag] = service
		
		__strPlatform = PBField.new("strPlatform", PB_DATA_TYPE.STRING, PB_RULE.REQUIRED, 6, false, DEFAULT_VALUES_2[PB_DATA_TYPE.STRING])
		service = PBServiceField.new()
		service.field = __strPlatform
		data[__strPlatform.tag] = service
		
		__ClientField = PBField.new("ClientField", PB_DATA_TYPE.MESSAGE, PB_RULE.OPTIONAL, 7, false, DEFAULT_VALUES_2[PB_DATA_TYPE.MESSAGE])
		service = PBServiceField.new()
		service.field = __ClientField
		service.func_ref = Callable(self, "new_ClientField")
		data[__ClientField.tag] = service
		
	var data = {}
	
	var __dPlayerID: PBField
	func get_dPlayerID() -> float:
		return __dPlayerID.value
	func clear_dPlayerID() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__dPlayerID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_dPlayerID(value : float) -> void:
		__dPlayerID.value = value
	
	var __nToken: PBField
	func get_nToken() -> int:
		return __nToken.value
	func clear_nToken() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__nToken.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nToken(value : int) -> void:
		__nToken.value = value
	
	var __nIsPhone: PBField
	func get_nIsPhone() -> int:
		return __nIsPhone.value
	func clear_nIsPhone() -> void:
		data[3].state = PB_SERVICE_STATE.UNFILLED
		__nIsPhone.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nIsPhone(value : int) -> void:
		__nIsPhone.value = value
	
	var __nLang: PBField
	func get_nLang() -> int:
		return __nLang.value
	func clear_nLang() -> void:
		data[4].state = PB_SERVICE_STATE.UNFILLED
		__nLang.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nLang(value : int) -> void:
		__nLang.value = value
	
	var __strNation: PBField
	func get_strNation() -> String:
		return __strNation.value
	func clear_strNation() -> void:
		data[5].state = PB_SERVICE_STATE.UNFILLED
		__strNation.value = DEFAULT_VALUES_2[PB_DATA_TYPE.STRING]
	func set_strNation(value : String) -> void:
		__strNation.value = value
	
	var __strPlatform: PBField
	func get_strPlatform() -> String:
		return __strPlatform.value
	func clear_strPlatform() -> void:
		data[6].state = PB_SERVICE_STATE.UNFILLED
		__strPlatform.value = DEFAULT_VALUES_2[PB_DATA_TYPE.STRING]
	func set_strPlatform(value : String) -> void:
		__strPlatform.value = value
	
	var __ClientField: PBField
	func has_ClientField() -> bool:
		if __ClientField.value != null:
			return true
		return false
	func get_ClientField() -> BDCLogClientField:
		return __ClientField.value
	func clear_ClientField() -> void:
		data[7].state = PB_SERVICE_STATE.UNFILLED
		__ClientField.value = DEFAULT_VALUES_2[PB_DATA_TYPE.MESSAGE]
	func new_ClientField() -> BDCLogClientField:
		__ClientField.value = BDCLogClientField.new()
		return __ClientField.value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S2C_LoginGameServer:

	static var proto_name = "S2C_LoginGameServer" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nRetCode = PBField.new("nRetCode", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nRetCode
		data[__nRetCode.tag] = service
		
	var data = {}
	
	var __nRetCode: PBField
	func get_nRetCode() -> int:
		return __nRetCode.value
	func clear_nRetCode() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nRetCode.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nRetCode(value : int) -> void:
		__nRetCode.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class C2S_ChangeLang:

	static var proto_name = "C2S_ChangeLang" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nLang = PBField.new("nLang", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nLang
		data[__nLang.tag] = service
		
	var data = {}
	
	var __nLang: PBField
	func get_nLang() -> int:
		return __nLang.value
	func clear_nLang() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nLang.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nLang(value : int) -> void:
		__nLang.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S_S2C_ChangeLang:

	static var proto_name = "S_S2C_ChangeLang" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__dPlayerID = PBField.new("dPlayerID", PB_DATA_TYPE.DOUBLE, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __dPlayerID
		data[__dPlayerID.tag] = service
		
		__nLang = PBField.new("nLang", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nLang
		data[__nLang.tag] = service
		
	var data = {}
	
	var __dPlayerID: PBField
	func get_dPlayerID() -> float:
		return __dPlayerID.value
	func clear_dPlayerID() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__dPlayerID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_dPlayerID(value : float) -> void:
		__dPlayerID.value = value
	
	var __nLang: PBField
	func get_nLang() -> int:
		return __nLang.value
	func clear_nLang() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__nLang.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nLang(value : int) -> void:
		__nLang.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class C2S_ExitGame:

	static var proto_name = "C2S_ExitGame" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
	var data = {}
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S2C_SqueezeOutNotify:

	static var proto_name = "S2C_SqueezeOutNotify" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
	var data = {}
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S_G2C_CheckToken:

	static var proto_name = "S_G2C_CheckToken" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__dPlayerID = PBField.new("dPlayerID", PB_DATA_TYPE.DOUBLE, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __dPlayerID
		data[__dPlayerID.tag] = service
		
		__nToken = PBField.new("nToken", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nToken
		data[__nToken.tag] = service
		
		__nCurrentID = PBField.new("nCurrentID", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 3, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nCurrentID
		data[__nCurrentID.tag] = service
		
	var data = {}
	
	var __dPlayerID: PBField
	func get_dPlayerID() -> float:
		return __dPlayerID.value
	func clear_dPlayerID() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__dPlayerID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_dPlayerID(value : float) -> void:
		__dPlayerID.value = value
	
	var __nToken: PBField
	func get_nToken() -> int:
		return __nToken.value
	func clear_nToken() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__nToken.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nToken(value : int) -> void:
		__nToken.value = value
	
	var __nCurrentID: PBField
	func get_nCurrentID() -> int:
		return __nCurrentID.value
	func clear_nCurrentID() -> void:
		data[3].state = PB_SERVICE_STATE.UNFILLED
		__nCurrentID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nCurrentID(value : int) -> void:
		__nCurrentID.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S_C2G_CheckToken:

	static var proto_name = "S_C2G_CheckToken" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nRetCode = PBField.new("nRetCode", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nRetCode
		data[__nRetCode.tag] = service
		
		__dPlayerID = PBField.new("dPlayerID", PB_DATA_TYPE.DOUBLE, PB_RULE.REQUIRED, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __dPlayerID
		data[__dPlayerID.tag] = service
		
		__nChageLine = PBField.new("nChageLine", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 3, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nChageLine
		data[__nChageLine.tag] = service
		
		__nCurrentID = PBField.new("nCurrentID", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 4, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nCurrentID
		data[__nCurrentID.tag] = service
		
	var data = {}
	
	var __nRetCode: PBField
	func get_nRetCode() -> int:
		return __nRetCode.value
	func clear_nRetCode() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nRetCode.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nRetCode(value : int) -> void:
		__nRetCode.value = value
	
	var __dPlayerID: PBField
	func get_dPlayerID() -> float:
		return __dPlayerID.value
	func clear_dPlayerID() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__dPlayerID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_dPlayerID(value : float) -> void:
		__dPlayerID.value = value
	
	var __nChageLine: PBField
	func get_nChageLine() -> int:
		return __nChageLine.value
	func clear_nChageLine() -> void:
		data[3].state = PB_SERVICE_STATE.UNFILLED
		__nChageLine.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nChageLine(value : int) -> void:
		__nChageLine.value = value
	
	var __nCurrentID: PBField
	func get_nCurrentID() -> int:
		return __nCurrentID.value
	func clear_nCurrentID() -> void:
		data[4].state = PB_SERVICE_STATE.UNFILLED
		__nCurrentID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nCurrentID(value : int) -> void:
		__nCurrentID.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S_G2C_RequestOffline:

	static var proto_name = "S_G2C_RequestOffline" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__dPlayerID = PBField.new("dPlayerID", PB_DATA_TYPE.DOUBLE, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __dPlayerID
		data[__dPlayerID.tag] = service
		
	var data = {}
	
	var __dPlayerID: PBField
	func get_dPlayerID() -> float:
		return __dPlayerID.value
	func clear_dPlayerID() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__dPlayerID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_dPlayerID(value : float) -> void:
		__dPlayerID.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S_C2G_RequestOffline:

	static var proto_name = "S_C2G_RequestOffline" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nRetCode = PBField.new("nRetCode", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nRetCode
		data[__nRetCode.tag] = service
		
		__dPlayerID = PBField.new("dPlayerID", PB_DATA_TYPE.DOUBLE, PB_RULE.REQUIRED, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __dPlayerID
		data[__dPlayerID.tag] = service
		
	var data = {}
	
	var __nRetCode: PBField
	func get_nRetCode() -> int:
		return __nRetCode.value
	func clear_nRetCode() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nRetCode.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nRetCode(value : int) -> void:
		__nRetCode.value = value
	
	var __dPlayerID: PBField
	func get_dPlayerID() -> float:
		return __dPlayerID.value
	func clear_dPlayerID() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__dPlayerID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_dPlayerID(value : float) -> void:
		__dPlayerID.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S_G2C_PlayerOnLine:

	static var proto_name = "S_G2C_PlayerOnLine" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__dPlayerID = PBField.new("dPlayerID", PB_DATA_TYPE.DOUBLE, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __dPlayerID
		data[__dPlayerID.tag] = service
		
		__nToken = PBField.new("nToken", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nToken
		data[__nToken.tag] = service
		
		__nResult = PBField.new("nResult", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 3, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nResult
		data[__nResult.tag] = service
		
		__nLang = PBField.new("nLang", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 4, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nLang
		data[__nLang.tag] = service
		
		__strNation = PBField.new("strNation", PB_DATA_TYPE.STRING, PB_RULE.REQUIRED, 5, false, DEFAULT_VALUES_2[PB_DATA_TYPE.STRING])
		service = PBServiceField.new()
		service.field = __strNation
		data[__strNation.tag] = service
		
		__strPlatform = PBField.new("strPlatform", PB_DATA_TYPE.STRING, PB_RULE.REQUIRED, 6, false, DEFAULT_VALUES_2[PB_DATA_TYPE.STRING])
		service = PBServiceField.new()
		service.field = __strPlatform
		data[__strPlatform.tag] = service
		
	var data = {}
	
	var __dPlayerID: PBField
	func get_dPlayerID() -> float:
		return __dPlayerID.value
	func clear_dPlayerID() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__dPlayerID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_dPlayerID(value : float) -> void:
		__dPlayerID.value = value
	
	var __nToken: PBField
	func get_nToken() -> int:
		return __nToken.value
	func clear_nToken() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__nToken.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nToken(value : int) -> void:
		__nToken.value = value
	
	var __nResult: PBField
	func get_nResult() -> int:
		return __nResult.value
	func clear_nResult() -> void:
		data[3].state = PB_SERVICE_STATE.UNFILLED
		__nResult.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nResult(value : int) -> void:
		__nResult.value = value
	
	var __nLang: PBField
	func get_nLang() -> int:
		return __nLang.value
	func clear_nLang() -> void:
		data[4].state = PB_SERVICE_STATE.UNFILLED
		__nLang.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nLang(value : int) -> void:
		__nLang.value = value
	
	var __strNation: PBField
	func get_strNation() -> String:
		return __strNation.value
	func clear_strNation() -> void:
		data[5].state = PB_SERVICE_STATE.UNFILLED
		__strNation.value = DEFAULT_VALUES_2[PB_DATA_TYPE.STRING]
	func set_strNation(value : String) -> void:
		__strNation.value = value
	
	var __strPlatform: PBField
	func get_strPlatform() -> String:
		return __strPlatform.value
	func clear_strPlatform() -> void:
		data[6].state = PB_SERVICE_STATE.UNFILLED
		__strPlatform.value = DEFAULT_VALUES_2[PB_DATA_TYPE.STRING]
	func set_strPlatform(value : String) -> void:
		__strPlatform.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S_G2C_PlayerOffLine:

	static var proto_name = "S_G2C_PlayerOffLine" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__dPlayerID = PBField.new("dPlayerID", PB_DATA_TYPE.DOUBLE, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __dPlayerID
		data[__dPlayerID.tag] = service
		
	var data = {}
	
	var __dPlayerID: PBField
	func get_dPlayerID() -> float:
		return __dPlayerID.value
	func clear_dPlayerID() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__dPlayerID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_dPlayerID(value : float) -> void:
		__dPlayerID.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class C2L_QueryGameLine:

	static var proto_name = "C2L_QueryGameLine" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
	var data = {}
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class LineInfo:

	static var proto_name = "LineInfo" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nGameLineID = PBField.new("nGameLineID", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nGameLineID
		data[__nGameLineID.tag] = service
		
		__nPlayerCount = PBField.new("nPlayerCount", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nPlayerCount
		data[__nPlayerCount.tag] = service
		
		__nMaxOnline = PBField.new("nMaxOnline", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 3, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nMaxOnline
		data[__nMaxOnline.tag] = service
		
		__strIP = PBField.new("strIP", PB_DATA_TYPE.STRING, PB_RULE.REQUIRED, 4, false, DEFAULT_VALUES_2[PB_DATA_TYPE.STRING])
		service = PBServiceField.new()
		service.field = __strIP
		data[__strIP.tag] = service
		
		__nPort = PBField.new("nPort", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 5, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nPort
		data[__nPort.tag] = service
		
	var data = {}
	
	var __nGameLineID: PBField
	func get_nGameLineID() -> int:
		return __nGameLineID.value
	func clear_nGameLineID() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nGameLineID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nGameLineID(value : int) -> void:
		__nGameLineID.value = value
	
	var __nPlayerCount: PBField
	func get_nPlayerCount() -> int:
		return __nPlayerCount.value
	func clear_nPlayerCount() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__nPlayerCount.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nPlayerCount(value : int) -> void:
		__nPlayerCount.value = value
	
	var __nMaxOnline: PBField
	func get_nMaxOnline() -> int:
		return __nMaxOnline.value
	func clear_nMaxOnline() -> void:
		data[3].state = PB_SERVICE_STATE.UNFILLED
		__nMaxOnline.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nMaxOnline(value : int) -> void:
		__nMaxOnline.value = value
	
	var __strIP: PBField
	func get_strIP() -> String:
		return __strIP.value
	func clear_strIP() -> void:
		data[4].state = PB_SERVICE_STATE.UNFILLED
		__strIP.value = DEFAULT_VALUES_2[PB_DATA_TYPE.STRING]
	func set_strIP(value : String) -> void:
		__strIP.value = value
	
	var __nPort: PBField
	func get_nPort() -> int:
		return __nPort.value
	func clear_nPort() -> void:
		data[5].state = PB_SERVICE_STATE.UNFILLED
		__nPort.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nPort(value : int) -> void:
		__nPort.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class L2C_QueryGameLine:

	static var proto_name = "L2C_QueryGameLine" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		var __lineValue_default: Array[LineInfo] = []
		__lineValue = PBField.new("lineValue", PB_DATA_TYPE.MESSAGE, PB_RULE.REPEATED, 1, false, __lineValue_default)
		service = PBServiceField.new()
		service.field = __lineValue
		service.func_ref = Callable(self, "add_lineValue")
		data[__lineValue.tag] = service
		
	var data = {}
	
	var __lineValue: PBField
	func get_lineValue() -> Array[LineInfo]:
		return __lineValue.value
	func clear_lineValue() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__lineValue.value.clear()
	func add_lineValue() -> LineInfo:
		var element = LineInfo.new()
		__lineValue.value.append(element)
		return element
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S_L2C_QueryGameLine:

	static var proto_name = "S_L2C_QueryGameLine" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
	var data = {}
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S_C2L_QueryGameLine:

	static var proto_name = "S_C2L_QueryGameLine" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		var __lineValue_default: Array[LineInfo] = []
		__lineValue = PBField.new("lineValue", PB_DATA_TYPE.MESSAGE, PB_RULE.REPEATED, 1, false, __lineValue_default)
		service = PBServiceField.new()
		service.field = __lineValue
		service.func_ref = Callable(self, "add_lineValue")
		data[__lineValue.tag] = service
		
	var data = {}
	
	var __lineValue: PBField
	func get_lineValue() -> Array[LineInfo]:
		return __lineValue.value
	func clear_lineValue() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__lineValue.value.clear()
	func add_lineValue() -> LineInfo:
		var element = LineInfo.new()
		__lineValue.value.append(element)
		return element
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S_C2G_KickPlayer:

	static var proto_name = "S_C2G_KickPlayer" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__dPlayerID = PBField.new("dPlayerID", PB_DATA_TYPE.DOUBLE, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __dPlayerID
		data[__dPlayerID.tag] = service
		
	var data = {}
	
	var __dPlayerID: PBField
	func get_dPlayerID() -> float:
		return __dPlayerID.value
	func clear_dPlayerID() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__dPlayerID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_dPlayerID(value : float) -> void:
		__dPlayerID.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class BDCLogClientField:

	static var proto_name = "BDCLogClientField" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__client_json = PBField.new("client_json", PB_DATA_TYPE.STRING, PB_RULE.OPTIONAL, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.STRING])
		service = PBServiceField.new()
		service.field = __client_json
		data[__client_json.tag] = service
		
		__client_os = PBField.new("client_os", PB_DATA_TYPE.STRING, PB_RULE.OPTIONAL, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.STRING])
		service = PBServiceField.new()
		service.field = __client_os
		data[__client_os.tag] = service
		
		__channel_id = PBField.new("channel_id", PB_DATA_TYPE.STRING, PB_RULE.OPTIONAL, 3, false, DEFAULT_VALUES_2[PB_DATA_TYPE.STRING])
		service = PBServiceField.new()
		service.field = __channel_id
		data[__channel_id.tag] = service
		
		__app_channel_id = PBField.new("app_channel_id", PB_DATA_TYPE.STRING, PB_RULE.OPTIONAL, 4, false, DEFAULT_VALUES_2[PB_DATA_TYPE.STRING])
		service = PBServiceField.new()
		service.field = __app_channel_id
		data[__app_channel_id.tag] = service
		
		__user_id = PBField.new("user_id", PB_DATA_TYPE.STRING, PB_RULE.OPTIONAL, 5, false, DEFAULT_VALUES_2[PB_DATA_TYPE.STRING])
		service = PBServiceField.new()
		service.field = __user_id
		data[__user_id.tag] = service
		
		__open_id = PBField.new("open_id", PB_DATA_TYPE.STRING, PB_RULE.OPTIONAL, 6, false, DEFAULT_VALUES_2[PB_DATA_TYPE.STRING])
		service = PBServiceField.new()
		service.field = __open_id
		data[__open_id.tag] = service
		
		__ads_json = PBField.new("ads_json", PB_DATA_TYPE.STRING, PB_RULE.OPTIONAL, 7, false, DEFAULT_VALUES_2[PB_DATA_TYPE.STRING])
		service = PBServiceField.new()
		service.field = __ads_json
		data[__ads_json.tag] = service
		
		__device_id = PBField.new("device_id", PB_DATA_TYPE.STRING, PB_RULE.OPTIONAL, 8, false, DEFAULT_VALUES_2[PB_DATA_TYPE.STRING])
		service = PBServiceField.new()
		service.field = __device_id
		data[__device_id.tag] = service
		
	var data = {}
	
	var __client_json: PBField
	func has_client_json() -> bool:
		if __client_json.value != null:
			return true
		return false
	func get_client_json() -> String:
		return __client_json.value
	func clear_client_json() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__client_json.value = DEFAULT_VALUES_2[PB_DATA_TYPE.STRING]
	func set_client_json(value : String) -> void:
		__client_json.value = value
	
	var __client_os: PBField
	func has_client_os() -> bool:
		if __client_os.value != null:
			return true
		return false
	func get_client_os() -> String:
		return __client_os.value
	func clear_client_os() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__client_os.value = DEFAULT_VALUES_2[PB_DATA_TYPE.STRING]
	func set_client_os(value : String) -> void:
		__client_os.value = value
	
	var __channel_id: PBField
	func has_channel_id() -> bool:
		if __channel_id.value != null:
			return true
		return false
	func get_channel_id() -> String:
		return __channel_id.value
	func clear_channel_id() -> void:
		data[3].state = PB_SERVICE_STATE.UNFILLED
		__channel_id.value = DEFAULT_VALUES_2[PB_DATA_TYPE.STRING]
	func set_channel_id(value : String) -> void:
		__channel_id.value = value
	
	var __app_channel_id: PBField
	func has_app_channel_id() -> bool:
		if __app_channel_id.value != null:
			return true
		return false
	func get_app_channel_id() -> String:
		return __app_channel_id.value
	func clear_app_channel_id() -> void:
		data[4].state = PB_SERVICE_STATE.UNFILLED
		__app_channel_id.value = DEFAULT_VALUES_2[PB_DATA_TYPE.STRING]
	func set_app_channel_id(value : String) -> void:
		__app_channel_id.value = value
	
	var __user_id: PBField
	func has_user_id() -> bool:
		if __user_id.value != null:
			return true
		return false
	func get_user_id() -> String:
		return __user_id.value
	func clear_user_id() -> void:
		data[5].state = PB_SERVICE_STATE.UNFILLED
		__user_id.value = DEFAULT_VALUES_2[PB_DATA_TYPE.STRING]
	func set_user_id(value : String) -> void:
		__user_id.value = value
	
	var __open_id: PBField
	func has_open_id() -> bool:
		if __open_id.value != null:
			return true
		return false
	func get_open_id() -> String:
		return __open_id.value
	func clear_open_id() -> void:
		data[6].state = PB_SERVICE_STATE.UNFILLED
		__open_id.value = DEFAULT_VALUES_2[PB_DATA_TYPE.STRING]
	func set_open_id(value : String) -> void:
		__open_id.value = value
	
	var __ads_json: PBField
	func has_ads_json() -> bool:
		if __ads_json.value != null:
			return true
		return false
	func get_ads_json() -> String:
		return __ads_json.value
	func clear_ads_json() -> void:
		data[7].state = PB_SERVICE_STATE.UNFILLED
		__ads_json.value = DEFAULT_VALUES_2[PB_DATA_TYPE.STRING]
	func set_ads_json(value : String) -> void:
		__ads_json.value = value
	
	var __device_id: PBField
	func has_device_id() -> bool:
		if __device_id.value != null:
			return true
		return false
	func get_device_id() -> String:
		return __device_id.value
	func clear_device_id() -> void:
		data[8].state = PB_SERVICE_STATE.UNFILLED
		__device_id.value = DEFAULT_VALUES_2[PB_DATA_TYPE.STRING]
	func set_device_id(value : String) -> void:
		__device_id.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class C2L_BDCLogClientField:

	static var proto_name = "C2L_BDCLogClientField" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__ClientField = PBField.new("ClientField", PB_DATA_TYPE.MESSAGE, PB_RULE.OPTIONAL, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.MESSAGE])
		service = PBServiceField.new()
		service.field = __ClientField
		service.func_ref = Callable(self, "new_ClientField")
		data[__ClientField.tag] = service
		
	var data = {}
	
	var __ClientField: PBField
	func has_ClientField() -> bool:
		if __ClientField.value != null:
			return true
		return false
	func get_ClientField() -> BDCLogClientField:
		return __ClientField.value
	func clear_ClientField() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__ClientField.value = DEFAULT_VALUES_2[PB_DATA_TYPE.MESSAGE]
	func new_ClientField() -> BDCLogClientField:
		__ClientField.value = BDCLogClientField.new()
		return __ClientField.value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S_G2CE_PlayerLoginGameSvr:

	static var proto_name = "S_G2CE_PlayerLoginGameSvr" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nSvrID = PBField.new("nSvrID", PB_DATA_TYPE.INT32, PB_RULE.OPTIONAL, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nSvrID
		data[__nSvrID.tag] = service
		
		__nClassID = PBField.new("nClassID", PB_DATA_TYPE.INT32, PB_RULE.OPTIONAL, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nClassID
		data[__nClassID.tag] = service
		
		__nLevel = PBField.new("nLevel", PB_DATA_TYPE.INT32, PB_RULE.OPTIONAL, 3, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nLevel
		data[__nLevel.tag] = service
		
		__dPlayerID = PBField.new("dPlayerID", PB_DATA_TYPE.DOUBLE, PB_RULE.OPTIONAL, 4, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __dPlayerID
		data[__dPlayerID.tag] = service
		
		__nMaxPower = PBField.new("nMaxPower", PB_DATA_TYPE.INT32, PB_RULE.OPTIONAL, 5, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nMaxPower
		data[__nMaxPower.tag] = service
		
		__nOffLineTimestamp = PBField.new("nOffLineTimestamp", PB_DATA_TYPE.INT32, PB_RULE.OPTIONAL, 6, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nOffLineTimestamp
		data[__nOffLineTimestamp.tag] = service
		
		__nActivePoint = PBField.new("nActivePoint", PB_DATA_TYPE.INT32, PB_RULE.OPTIONAL, 7, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nActivePoint
		data[__nActivePoint.tag] = service
		
		__nCurHeadPortrait = PBField.new("nCurHeadPortrait", PB_DATA_TYPE.INT32, PB_RULE.OPTIONAL, 8, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nCurHeadPortrait
		data[__nCurHeadPortrait.tag] = service
		
	var data = {}
	
	var __nSvrID: PBField
	func has_nSvrID() -> bool:
		if __nSvrID.value != null:
			return true
		return false
	func get_nSvrID() -> int:
		return __nSvrID.value
	func clear_nSvrID() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nSvrID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nSvrID(value : int) -> void:
		__nSvrID.value = value
	
	var __nClassID: PBField
	func has_nClassID() -> bool:
		if __nClassID.value != null:
			return true
		return false
	func get_nClassID() -> int:
		return __nClassID.value
	func clear_nClassID() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__nClassID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nClassID(value : int) -> void:
		__nClassID.value = value
	
	var __nLevel: PBField
	func has_nLevel() -> bool:
		if __nLevel.value != null:
			return true
		return false
	func get_nLevel() -> int:
		return __nLevel.value
	func clear_nLevel() -> void:
		data[3].state = PB_SERVICE_STATE.UNFILLED
		__nLevel.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nLevel(value : int) -> void:
		__nLevel.value = value
	
	var __dPlayerID: PBField
	func has_dPlayerID() -> bool:
		if __dPlayerID.value != null:
			return true
		return false
	func get_dPlayerID() -> float:
		return __dPlayerID.value
	func clear_dPlayerID() -> void:
		data[4].state = PB_SERVICE_STATE.UNFILLED
		__dPlayerID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_dPlayerID(value : float) -> void:
		__dPlayerID.value = value
	
	var __nMaxPower: PBField
	func has_nMaxPower() -> bool:
		if __nMaxPower.value != null:
			return true
		return false
	func get_nMaxPower() -> int:
		return __nMaxPower.value
	func clear_nMaxPower() -> void:
		data[5].state = PB_SERVICE_STATE.UNFILLED
		__nMaxPower.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nMaxPower(value : int) -> void:
		__nMaxPower.value = value
	
	var __nOffLineTimestamp: PBField
	func has_nOffLineTimestamp() -> bool:
		if __nOffLineTimestamp.value != null:
			return true
		return false
	func get_nOffLineTimestamp() -> int:
		return __nOffLineTimestamp.value
	func clear_nOffLineTimestamp() -> void:
		data[6].state = PB_SERVICE_STATE.UNFILLED
		__nOffLineTimestamp.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nOffLineTimestamp(value : int) -> void:
		__nOffLineTimestamp.value = value
	
	var __nActivePoint: PBField
	func has_nActivePoint() -> bool:
		if __nActivePoint.value != null:
			return true
		return false
	func get_nActivePoint() -> int:
		return __nActivePoint.value
	func clear_nActivePoint() -> void:
		data[7].state = PB_SERVICE_STATE.UNFILLED
		__nActivePoint.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nActivePoint(value : int) -> void:
		__nActivePoint.value = value
	
	var __nCurHeadPortrait: PBField
	func has_nCurHeadPortrait() -> bool:
		if __nCurHeadPortrait.value != null:
			return true
		return false
	func get_nCurHeadPortrait() -> int:
		return __nCurHeadPortrait.value
	func clear_nCurHeadPortrait() -> void:
		data[8].state = PB_SERVICE_STATE.UNFILLED
		__nCurHeadPortrait.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nCurHeadPortrait(value : int) -> void:
		__nCurHeadPortrait.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class struct_itemdes:

	static var proto_name = "struct_itemdes" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nIndex = PBField.new("nIndex", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nIndex
		data[__nIndex.tag] = service
		
		__nItemSerialID = PBField.new("nItemSerialID", PB_DATA_TYPE.INT64, PB_RULE.REQUIRED, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT64])
		service = PBServiceField.new()
		service.field = __nItemSerialID
		data[__nItemSerialID.tag] = service
		
		__nItemID = PBField.new("nItemID", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 3, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nItemID
		data[__nItemID.tag] = service
		
		__nItemCount = PBField.new("nItemCount", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 4, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nItemCount
		data[__nItemCount.tag] = service
		
	var data = {}
	
	var __nIndex: PBField
	func get_nIndex() -> int:
		return __nIndex.value
	func clear_nIndex() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nIndex.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nIndex(value : int) -> void:
		__nIndex.value = value
	
	var __nItemSerialID: PBField
	func get_nItemSerialID() -> int:
		return __nItemSerialID.value
	func clear_nItemSerialID() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__nItemSerialID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT64]
	func set_nItemSerialID(value : int) -> void:
		__nItemSerialID.value = value
	
	var __nItemID: PBField
	func get_nItemID() -> int:
		return __nItemID.value
	func clear_nItemID() -> void:
		data[3].state = PB_SERVICE_STATE.UNFILLED
		__nItemID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nItemID(value : int) -> void:
		__nItemID.value = value
	
	var __nItemCount: PBField
	func get_nItemCount() -> int:
		return __nItemCount.value
	func clear_nItemCount() -> void:
		data[4].state = PB_SERVICE_STATE.UNFILLED
		__nItemCount.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nItemCount(value : int) -> void:
		__nItemCount.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class struct_MailContext:

	static var proto_name = "struct_MailContext" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__senderid = PBField.new("senderid", PB_DATA_TYPE.INT64, PB_RULE.OPTIONAL, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT64])
		service = PBServiceField.new()
		service.field = __senderid
		data[__senderid.tag] = service
		
		__senderName = PBField.new("senderName", PB_DATA_TYPE.STRING, PB_RULE.OPTIONAL, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.STRING])
		service = PBServiceField.new()
		service.field = __senderName
		data[__senderName.tag] = service
		
		__receiverid = PBField.new("receiverid", PB_DATA_TYPE.INT64, PB_RULE.REQUIRED, 3, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT64])
		service = PBServiceField.new()
		service.field = __receiverid
		data[__receiverid.tag] = service
		
		__delayseconds = PBField.new("delayseconds", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 4, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __delayseconds
		data[__delayseconds.tag] = service
		
		__emailId = PBField.new("emailId", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 5, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __emailId
		data[__emailId.tag] = service
		
		__title = PBField.new("title", PB_DATA_TYPE.STRING, PB_RULE.REQUIRED, 6, false, DEFAULT_VALUES_2[PB_DATA_TYPE.STRING])
		service = PBServiceField.new()
		service.field = __title
		data[__title.tag] = service
		
		__content = PBField.new("content", PB_DATA_TYPE.STRING, PB_RULE.REQUIRED, 7, false, DEFAULT_VALUES_2[PB_DATA_TYPE.STRING])
		service = PBServiceField.new()
		service.field = __content
		data[__content.tag] = service
		
		__titleParam = PBField.new("titleParam", PB_DATA_TYPE.BYTES, PB_RULE.OPTIONAL, 8, false, DEFAULT_VALUES_2[PB_DATA_TYPE.BYTES])
		service = PBServiceField.new()
		service.field = __titleParam
		data[__titleParam.tag] = service
		
		__titleParamLen = PBField.new("titleParamLen", PB_DATA_TYPE.INT32, PB_RULE.OPTIONAL, 9, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __titleParamLen
		data[__titleParamLen.tag] = service
		
		__contentParam = PBField.new("contentParam", PB_DATA_TYPE.BYTES, PB_RULE.OPTIONAL, 10, false, DEFAULT_VALUES_2[PB_DATA_TYPE.BYTES])
		service = PBServiceField.new()
		service.field = __contentParam
		data[__contentParam.tag] = service
		
		__contentParamLen = PBField.new("contentParamLen", PB_DATA_TYPE.INT32, PB_RULE.OPTIONAL, 11, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __contentParamLen
		data[__contentParamLen.tag] = service
		
		var __itemdes_default: Array[struct_itemdes] = []
		__itemdes = PBField.new("itemdes", PB_DATA_TYPE.MESSAGE, PB_RULE.REPEATED, 12, false, __itemdes_default)
		service = PBServiceField.new()
		service.field = __itemdes
		service.func_ref = Callable(self, "add_itemdes")
		data[__itemdes.tag] = service
		
		__needLang = PBField.new("needLang", PB_DATA_TYPE.STRING, PB_RULE.REQUIRED, 13, false, DEFAULT_VALUES_2[PB_DATA_TYPE.STRING])
		service = PBServiceField.new()
		service.field = __needLang
		data[__needLang.tag] = service
		
		__needNation = PBField.new("needNation", PB_DATA_TYPE.STRING, PB_RULE.REQUIRED, 14, false, DEFAULT_VALUES_2[PB_DATA_TYPE.STRING])
		service = PBServiceField.new()
		service.field = __needNation
		data[__needNation.tag] = service
		
		__needPlatform = PBField.new("needPlatform", PB_DATA_TYPE.STRING, PB_RULE.REQUIRED, 15, false, DEFAULT_VALUES_2[PB_DATA_TYPE.STRING])
		service = PBServiceField.new()
		service.field = __needPlatform
		data[__needPlatform.tag] = service
		
	var data = {}
	
	var __senderid: PBField
	func has_senderid() -> bool:
		if __senderid.value != null:
			return true
		return false
	func get_senderid() -> int:
		return __senderid.value
	func clear_senderid() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__senderid.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT64]
	func set_senderid(value : int) -> void:
		__senderid.value = value
	
	var __senderName: PBField
	func has_senderName() -> bool:
		if __senderName.value != null:
			return true
		return false
	func get_senderName() -> String:
		return __senderName.value
	func clear_senderName() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__senderName.value = DEFAULT_VALUES_2[PB_DATA_TYPE.STRING]
	func set_senderName(value : String) -> void:
		__senderName.value = value
	
	var __receiverid: PBField
	func get_receiverid() -> int:
		return __receiverid.value
	func clear_receiverid() -> void:
		data[3].state = PB_SERVICE_STATE.UNFILLED
		__receiverid.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT64]
	func set_receiverid(value : int) -> void:
		__receiverid.value = value
	
	var __delayseconds: PBField
	func get_delayseconds() -> int:
		return __delayseconds.value
	func clear_delayseconds() -> void:
		data[4].state = PB_SERVICE_STATE.UNFILLED
		__delayseconds.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_delayseconds(value : int) -> void:
		__delayseconds.value = value
	
	var __emailId: PBField
	func get_emailId() -> int:
		return __emailId.value
	func clear_emailId() -> void:
		data[5].state = PB_SERVICE_STATE.UNFILLED
		__emailId.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_emailId(value : int) -> void:
		__emailId.value = value
	
	var __title: PBField
	func get_title() -> String:
		return __title.value
	func clear_title() -> void:
		data[6].state = PB_SERVICE_STATE.UNFILLED
		__title.value = DEFAULT_VALUES_2[PB_DATA_TYPE.STRING]
	func set_title(value : String) -> void:
		__title.value = value
	
	var __content: PBField
	func get_content() -> String:
		return __content.value
	func clear_content() -> void:
		data[7].state = PB_SERVICE_STATE.UNFILLED
		__content.value = DEFAULT_VALUES_2[PB_DATA_TYPE.STRING]
	func set_content(value : String) -> void:
		__content.value = value
	
	var __titleParam: PBField
	func has_titleParam() -> bool:
		if __titleParam.value != null:
			return true
		return false
	func get_titleParam() -> PackedByteArray:
		return __titleParam.value
	func clear_titleParam() -> void:
		data[8].state = PB_SERVICE_STATE.UNFILLED
		__titleParam.value = DEFAULT_VALUES_2[PB_DATA_TYPE.BYTES]
	func set_titleParam(value : PackedByteArray) -> void:
		__titleParam.value = value
	
	var __titleParamLen: PBField
	func has_titleParamLen() -> bool:
		if __titleParamLen.value != null:
			return true
		return false
	func get_titleParamLen() -> int:
		return __titleParamLen.value
	func clear_titleParamLen() -> void:
		data[9].state = PB_SERVICE_STATE.UNFILLED
		__titleParamLen.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_titleParamLen(value : int) -> void:
		__titleParamLen.value = value
	
	var __contentParam: PBField
	func has_contentParam() -> bool:
		if __contentParam.value != null:
			return true
		return false
	func get_contentParam() -> PackedByteArray:
		return __contentParam.value
	func clear_contentParam() -> void:
		data[10].state = PB_SERVICE_STATE.UNFILLED
		__contentParam.value = DEFAULT_VALUES_2[PB_DATA_TYPE.BYTES]
	func set_contentParam(value : PackedByteArray) -> void:
		__contentParam.value = value
	
	var __contentParamLen: PBField
	func has_contentParamLen() -> bool:
		if __contentParamLen.value != null:
			return true
		return false
	func get_contentParamLen() -> int:
		return __contentParamLen.value
	func clear_contentParamLen() -> void:
		data[11].state = PB_SERVICE_STATE.UNFILLED
		__contentParamLen.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_contentParamLen(value : int) -> void:
		__contentParamLen.value = value
	
	var __itemdes: PBField
	func get_itemdes() -> Array[struct_itemdes]:
		return __itemdes.value
	func clear_itemdes() -> void:
		data[12].state = PB_SERVICE_STATE.UNFILLED
		__itemdes.value.clear()
	func add_itemdes() -> struct_itemdes:
		var element = struct_itemdes.new()
		__itemdes.value.append(element)
		return element
	
	var __needLang: PBField
	func get_needLang() -> String:
		return __needLang.value
	func clear_needLang() -> void:
		data[13].state = PB_SERVICE_STATE.UNFILLED
		__needLang.value = DEFAULT_VALUES_2[PB_DATA_TYPE.STRING]
	func set_needLang(value : String) -> void:
		__needLang.value = value
	
	var __needNation: PBField
	func get_needNation() -> String:
		return __needNation.value
	func clear_needNation() -> void:
		data[14].state = PB_SERVICE_STATE.UNFILLED
		__needNation.value = DEFAULT_VALUES_2[PB_DATA_TYPE.STRING]
	func set_needNation(value : String) -> void:
		__needNation.value = value
	
	var __needPlatform: PBField
	func get_needPlatform() -> String:
		return __needPlatform.value
	func clear_needPlatform() -> void:
		data[15].state = PB_SERVICE_STATE.UNFILLED
		__needPlatform.value = DEFAULT_VALUES_2[PB_DATA_TYPE.STRING]
	func set_needPlatform(value : String) -> void:
		__needPlatform.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class C2S_SendMailReq:

	static var proto_name = "C2S_SendMailReq" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__mailContext = PBField.new("mailContext", PB_DATA_TYPE.MESSAGE, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.MESSAGE])
		service = PBServiceField.new()
		service.field = __mailContext
		service.func_ref = Callable(self, "new_mailContext")
		data[__mailContext.tag] = service
		
	var data = {}
	
	var __mailContext: PBField
	func get_mailContext() -> struct_MailContext:
		return __mailContext.value
	func clear_mailContext() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__mailContext.value = DEFAULT_VALUES_2[PB_DATA_TYPE.MESSAGE]
	func new_mailContext() -> struct_MailContext:
		__mailContext.value = struct_MailContext.new()
		return __mailContext.value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S2C_SendMailResult:

	static var proto_name = "S2C_SendMailResult" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__senderid = PBField.new("senderid", PB_DATA_TYPE.INT64, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT64])
		service = PBServiceField.new()
		service.field = __senderid
		data[__senderid.tag] = service
		
		__receiverid = PBField.new("receiverid", PB_DATA_TYPE.INT64, PB_RULE.REQUIRED, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT64])
		service = PBServiceField.new()
		service.field = __receiverid
		data[__receiverid.tag] = service
		
		__result = PBField.new("result", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 3, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __result
		data[__result.tag] = service
		
		__mailid = PBField.new("mailid", PB_DATA_TYPE.INT64, PB_RULE.REQUIRED, 4, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT64])
		service = PBServiceField.new()
		service.field = __mailid
		data[__mailid.tag] = service
		
	var data = {}
	
	var __senderid: PBField
	func get_senderid() -> int:
		return __senderid.value
	func clear_senderid() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__senderid.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT64]
	func set_senderid(value : int) -> void:
		__senderid.value = value
	
	var __receiverid: PBField
	func get_receiverid() -> int:
		return __receiverid.value
	func clear_receiverid() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__receiverid.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT64]
	func set_receiverid(value : int) -> void:
		__receiverid.value = value
	
	var __result: PBField
	func get_result() -> int:
		return __result.value
	func clear_result() -> void:
		data[3].state = PB_SERVICE_STATE.UNFILLED
		__result.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_result(value : int) -> void:
		__result.value = value
	
	var __mailid: PBField
	func get_mailid() -> int:
		return __mailid.value
	func clear_mailid() -> void:
		data[4].state = PB_SERVICE_STATE.UNFILLED
		__mailid.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT64]
	func set_mailid(value : int) -> void:
		__mailid.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class C2S_ReadMailReq:

	static var proto_name = "C2S_ReadMailReq" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__mailid = PBField.new("mailid", PB_DATA_TYPE.INT64, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT64])
		service = PBServiceField.new()
		service.field = __mailid
		data[__mailid.tag] = service
		
	var data = {}
	
	var __mailid: PBField
	func get_mailid() -> int:
		return __mailid.value
	func clear_mailid() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__mailid.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT64]
	func set_mailid(value : int) -> void:
		__mailid.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class C2S_PickMailAttachementReq:

	static var proto_name = "C2S_PickMailAttachementReq" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		var __mailid_default: Array[int] = []
		__mailid = PBField.new("mailid", PB_DATA_TYPE.INT64, PB_RULE.REPEATED, 1, false, __mailid_default)
		service = PBServiceField.new()
		service.field = __mailid
		data[__mailid.tag] = service
		
		__pickid = PBField.new("pickid", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __pickid
		data[__pickid.tag] = service
		
	var data = {}
	
	var __mailid: PBField
	func get_mailid() -> Array[int]:
		return __mailid.value
	func clear_mailid() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__mailid.value.clear()
	func add_mailid(value : int) -> void:
		__mailid.value.append(value)
	
	var __pickid: PBField
	func get_pickid() -> int:
		return __pickid.value
	func clear_pickid() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__pickid.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_pickid(value : int) -> void:
		__pickid.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class C2S_DelMailReq:

	static var proto_name = "C2S_DelMailReq" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		var __mailid_default: Array[int] = []
		__mailid = PBField.new("mailid", PB_DATA_TYPE.INT64, PB_RULE.REPEATED, 1, false, __mailid_default)
		service = PBServiceField.new()
		service.field = __mailid
		data[__mailid.tag] = service
		
	var data = {}
	
	var __mailid: PBField
	func get_mailid() -> Array[int]:
		return __mailid.value
	func clear_mailid() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__mailid.value.clear()
	func add_mailid(value : int) -> void:
		__mailid.value.append(value)
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S2C_PickMailAttachementOk:

	static var proto_name = "S2C_PickMailAttachementOk" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__pickid = PBField.new("pickid", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __pickid
		data[__pickid.tag] = service
		
	var data = {}
	
	var __pickid: PBField
	func get_pickid() -> int:
		return __pickid.value
	func clear_pickid() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__pickid.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_pickid(value : int) -> void:
		__pickid.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S2S_NotifyReceiveMail:

	static var proto_name = "S2S_NotifyReceiveMail" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__playerid = PBField.new("playerid", PB_DATA_TYPE.INT64, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT64])
		service = PBServiceField.new()
		service.field = __playerid
		data[__playerid.tag] = service
		
		__mailid = PBField.new("mailid", PB_DATA_TYPE.INT64, PB_RULE.REQUIRED, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT64])
		service = PBServiceField.new()
		service.field = __mailid
		data[__mailid.tag] = service
		
	var data = {}
	
	var __playerid: PBField
	func get_playerid() -> int:
		return __playerid.value
	func clear_playerid() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__playerid.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT64]
	func set_playerid(value : int) -> void:
		__playerid.value = value
	
	var __mailid: PBField
	func get_mailid() -> int:
		return __mailid.value
	func clear_mailid() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__mailid.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT64]
	func set_mailid(value : int) -> void:
		__mailid.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class NotifyData:

	static var proto_name = "NotifyData" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nType = PBField.new("nType", PB_DATA_TYPE.INT32, PB_RULE.OPTIONAL, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nType
		data[__nType.tag] = service
		
		__msgData = PBField.new("msgData", PB_DATA_TYPE.BYTES, PB_RULE.OPTIONAL, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.BYTES])
		service = PBServiceField.new()
		service.field = __msgData
		data[__msgData.tag] = service
		
	var data = {}
	
	var __nType: PBField
	func has_nType() -> bool:
		if __nType.value != null:
			return true
		return false
	func get_nType() -> int:
		return __nType.value
	func clear_nType() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nType.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nType(value : int) -> void:
		__nType.value = value
	
	var __msgData: PBField
	func has_msgData() -> bool:
		if __msgData.value != null:
			return true
		return false
	func get_msgData() -> PackedByteArray:
		return __msgData.value
	func clear_msgData() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__msgData.value = DEFAULT_VALUES_2[PB_DATA_TYPE.BYTES]
	func set_msgData(value : PackedByteArray) -> void:
		__msgData.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class NotifyCode:

	static var proto_name = "NotifyCode" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__codeId = PBField.new("codeId", PB_DATA_TYPE.INT32, PB_RULE.OPTIONAL, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __codeId
		data[__codeId.tag] = service
		
		var __resultArgs_default: Array[NotifyData] = []
		__resultArgs = PBField.new("resultArgs", PB_DATA_TYPE.MESSAGE, PB_RULE.REPEATED, 2, false, __resultArgs_default)
		service = PBServiceField.new()
		service.field = __resultArgs
		service.func_ref = Callable(self, "add_resultArgs")
		data[__resultArgs.tag] = service
		
	var data = {}
	
	var __codeId: PBField
	func has_codeId() -> bool:
		if __codeId.value != null:
			return true
		return false
	func get_codeId() -> int:
		return __codeId.value
	func clear_codeId() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__codeId.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_codeId(value : int) -> void:
		__codeId.value = value
	
	var __resultArgs: PBField
	func get_resultArgs() -> Array[NotifyData]:
		return __resultArgs.value
	func clear_resultArgs() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__resultArgs.value.clear()
	func add_resultArgs() -> NotifyData:
		var element = NotifyData.new()
		__resultArgs.value.append(element)
		return element
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class Notify_PlayerName:

	static var proto_name = "Notify_PlayerName" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nPlayerID = PBField.new("nPlayerID", PB_DATA_TYPE.DOUBLE, PB_RULE.OPTIONAL, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __nPlayerID
		data[__nPlayerID.tag] = service
		
		__strPlayerName = PBField.new("strPlayerName", PB_DATA_TYPE.STRING, PB_RULE.OPTIONAL, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.STRING])
		service = PBServiceField.new()
		service.field = __strPlayerName
		data[__strPlayerName.tag] = service
		
	var data = {}
	
	var __nPlayerID: PBField
	func has_nPlayerID() -> bool:
		if __nPlayerID.value != null:
			return true
		return false
	func get_nPlayerID() -> float:
		return __nPlayerID.value
	func clear_nPlayerID() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nPlayerID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_nPlayerID(value : float) -> void:
		__nPlayerID.value = value
	
	var __strPlayerName: PBField
	func has_strPlayerName() -> bool:
		if __strPlayerName.value != null:
			return true
		return false
	func get_strPlayerName() -> String:
		return __strPlayerName.value
	func clear_strPlayerName() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__strPlayerName.value = DEFAULT_VALUES_2[PB_DATA_TYPE.STRING]
	func set_strPlayerName(value : String) -> void:
		__strPlayerName.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class Notify_PlayerLv:

	static var proto_name = "Notify_PlayerLv" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nPlayerID = PBField.new("nPlayerID", PB_DATA_TYPE.DOUBLE, PB_RULE.OPTIONAL, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __nPlayerID
		data[__nPlayerID.tag] = service
		
		__nPlayerLv = PBField.new("nPlayerLv", PB_DATA_TYPE.INT32, PB_RULE.OPTIONAL, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nPlayerLv
		data[__nPlayerLv.tag] = service
		
	var data = {}
	
	var __nPlayerID: PBField
	func has_nPlayerID() -> bool:
		if __nPlayerID.value != null:
			return true
		return false
	func get_nPlayerID() -> float:
		return __nPlayerID.value
	func clear_nPlayerID() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nPlayerID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_nPlayerID(value : float) -> void:
		__nPlayerID.value = value
	
	var __nPlayerLv: PBField
	func has_nPlayerLv() -> bool:
		if __nPlayerLv.value != null:
			return true
		return false
	func get_nPlayerLv() -> int:
		return __nPlayerLv.value
	func clear_nPlayerLv() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__nPlayerLv.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nPlayerLv(value : int) -> void:
		__nPlayerLv.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class Notify_ID:

	static var proto_name = "Notify_ID" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__strIDType = PBField.new("strIDType", PB_DATA_TYPE.STRING, PB_RULE.OPTIONAL, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.STRING])
		service = PBServiceField.new()
		service.field = __strIDType
		data[__strIDType.tag] = service
		
		__nIDValue = PBField.new("nIDValue", PB_DATA_TYPE.INT32, PB_RULE.OPTIONAL, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nIDValue
		data[__nIDValue.tag] = service
		
	var data = {}
	
	var __strIDType: PBField
	func has_strIDType() -> bool:
		if __strIDType.value != null:
			return true
		return false
	func get_strIDType() -> String:
		return __strIDType.value
	func clear_strIDType() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__strIDType.value = DEFAULT_VALUES_2[PB_DATA_TYPE.STRING]
	func set_strIDType(value : String) -> void:
		__strIDType.value = value
	
	var __nIDValue: PBField
	func has_nIDValue() -> bool:
		if __nIDValue.value != null:
			return true
		return false
	func get_nIDValue() -> int:
		return __nIDValue.value
	func clear_nIDValue() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__nIDValue.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nIDValue(value : int) -> void:
		__nIDValue.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class Notify_TextID:

	static var proto_name = "Notify_TextID" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__strIDType = PBField.new("strIDType", PB_DATA_TYPE.STRING, PB_RULE.OPTIONAL, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.STRING])
		service = PBServiceField.new()
		service.field = __strIDType
		data[__strIDType.tag] = service
		
		__nIDValue = PBField.new("nIDValue", PB_DATA_TYPE.INT32, PB_RULE.OPTIONAL, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nIDValue
		data[__nIDValue.tag] = service
		
	var data = {}
	
	var __strIDType: PBField
	func has_strIDType() -> bool:
		if __strIDType.value != null:
			return true
		return false
	func get_strIDType() -> String:
		return __strIDType.value
	func clear_strIDType() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__strIDType.value = DEFAULT_VALUES_2[PB_DATA_TYPE.STRING]
	func set_strIDType(value : String) -> void:
		__strIDType.value = value
	
	var __nIDValue: PBField
	func has_nIDValue() -> bool:
		if __nIDValue.value != null:
			return true
		return false
	func get_nIDValue() -> int:
		return __nIDValue.value
	func clear_nIDValue() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__nIDValue.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nIDValue(value : int) -> void:
		__nIDValue.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class NotifyText:

	static var proto_name = "NotifyText" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__strText = PBField.new("strText", PB_DATA_TYPE.STRING, PB_RULE.OPTIONAL, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.STRING])
		service = PBServiceField.new()
		service.field = __strText
		data[__strText.tag] = service
		
	var data = {}
	
	var __strText: PBField
	func has_strText() -> bool:
		if __strText.value != null:
			return true
		return false
	func get_strText() -> String:
		return __strText.value
	func clear_strText() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__strText.value = DEFAULT_VALUES_2[PB_DATA_TYPE.STRING]
	func set_strText(value : String) -> void:
		__strText.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class NotifyItemNumWithName:

	static var proto_name = "NotifyItemNumWithName" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nItemId = PBField.new("nItemId", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nItemId
		data[__nItemId.tag] = service
		
		__nItemNum = PBField.new("nItemNum", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nItemNum
		data[__nItemNum.tag] = service
		
	var data = {}
	
	var __nItemId: PBField
	func get_nItemId() -> int:
		return __nItemId.value
	func clear_nItemId() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nItemId.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nItemId(value : int) -> void:
		__nItemId.value = value
	
	var __nItemNum: PBField
	func get_nItemNum() -> int:
		return __nItemNum.value
	func clear_nItemNum() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__nItemNum.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nItemNum(value : int) -> void:
		__nItemNum.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class Notify_TextParam:

	static var proto_name = "Notify_TextParam" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__text = PBField.new("text", PB_DATA_TYPE.STRING, PB_RULE.OPTIONAL, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.STRING])
		service = PBServiceField.new()
		service.field = __text
		data[__text.tag] = service
		
	var data = {}
	
	var __text: PBField
	func has_text() -> bool:
		if __text.value != null:
			return true
		return false
	func get_text() -> String:
		return __text.value
	func clear_text() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__text.value = DEFAULT_VALUES_2[PB_DATA_TYPE.STRING]
	func set_text(value : String) -> void:
		__text.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class Notidy_SceneName:

	static var proto_name = "Notidy_SceneName" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nSceneId = PBField.new("nSceneId", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nSceneId
		data[__nSceneId.tag] = service
		
	var data = {}
	
	var __nSceneId: PBField
	func get_nSceneId() -> int:
		return __nSceneId.value
	func clear_nSceneId() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nSceneId.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nSceneId(value : int) -> void:
		__nSceneId.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class Notify_ModifyProperty:

	static var proto_name = "Notify_ModifyProperty" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nPropertyType = PBField.new("nPropertyType", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nPropertyType
		data[__nPropertyType.tag] = service
		
		__nValue = PBField.new("nValue", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nValue
		data[__nValue.tag] = service
		
	var data = {}
	
	var __nPropertyType: PBField
	func get_nPropertyType() -> int:
		return __nPropertyType.value
	func clear_nPropertyType() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nPropertyType.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nPropertyType(value : int) -> void:
		__nPropertyType.value = value
	
	var __nValue: PBField
	func get_nValue() -> int:
		return __nValue.value
	func clear_nValue() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__nValue.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nValue(value : int) -> void:
		__nValue.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class Notify_LotteryQuality:

	static var proto_name = "Notify_LotteryQuality" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__strPlayerName = PBField.new("strPlayerName", PB_DATA_TYPE.STRING, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.STRING])
		service = PBServiceField.new()
		service.field = __strPlayerName
		data[__strPlayerName.tag] = service
		
		__strPoolName = PBField.new("strPoolName", PB_DATA_TYPE.STRING, PB_RULE.REQUIRED, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.STRING])
		service = PBServiceField.new()
		service.field = __strPoolName
		data[__strPoolName.tag] = service
		
		__strItemName = PBField.new("strItemName", PB_DATA_TYPE.STRING, PB_RULE.REQUIRED, 3, false, DEFAULT_VALUES_2[PB_DATA_TYPE.STRING])
		service = PBServiceField.new()
		service.field = __strItemName
		data[__strItemName.tag] = service
		
		__nItemNum = PBField.new("nItemNum", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 4, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nItemNum
		data[__nItemNum.tag] = service
		
	var data = {}
	
	var __strPlayerName: PBField
	func get_strPlayerName() -> String:
		return __strPlayerName.value
	func clear_strPlayerName() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__strPlayerName.value = DEFAULT_VALUES_2[PB_DATA_TYPE.STRING]
	func set_strPlayerName(value : String) -> void:
		__strPlayerName.value = value
	
	var __strPoolName: PBField
	func get_strPoolName() -> String:
		return __strPoolName.value
	func clear_strPoolName() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__strPoolName.value = DEFAULT_VALUES_2[PB_DATA_TYPE.STRING]
	func set_strPoolName(value : String) -> void:
		__strPoolName.value = value
	
	var __strItemName: PBField
	func get_strItemName() -> String:
		return __strItemName.value
	func clear_strItemName() -> void:
		data[3].state = PB_SERVICE_STATE.UNFILLED
		__strItemName.value = DEFAULT_VALUES_2[PB_DATA_TYPE.STRING]
	func set_strItemName(value : String) -> void:
		__strItemName.value = value
	
	var __nItemNum: PBField
	func get_nItemNum() -> int:
		return __nItemNum.value
	func clear_nItemNum() -> void:
		data[4].state = PB_SERVICE_STATE.UNFILLED
		__nItemNum.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nItemNum(value : int) -> void:
		__nItemNum.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class Notify_ClassLevel:

	static var proto_name = "Notify_ClassLevel" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nClassID = PBField.new("nClassID", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nClassID
		data[__nClassID.tag] = service
		
		__nClassLevel = PBField.new("nClassLevel", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nClassLevel
		data[__nClassLevel.tag] = service
		
	var data = {}
	
	var __nClassID: PBField
	func get_nClassID() -> int:
		return __nClassID.value
	func clear_nClassID() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nClassID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nClassID(value : int) -> void:
		__nClassID.value = value
	
	var __nClassLevel: PBField
	func get_nClassLevel() -> int:
		return __nClassLevel.value
	func clear_nClassLevel() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__nClassLevel.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nClassLevel(value : int) -> void:
		__nClassLevel.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class Notify_TreasureBox:

	static var proto_name = "Notify_TreasureBox" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__playerName = PBField.new("playerName", PB_DATA_TYPE.STRING, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.STRING])
		service = PBServiceField.new()
		service.field = __playerName
		data[__playerName.tag] = service
		
		__itemName = PBField.new("itemName", PB_DATA_TYPE.STRING, PB_RULE.REQUIRED, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.STRING])
		service = PBServiceField.new()
		service.field = __itemName
		data[__itemName.tag] = service
		
	var data = {}
	
	var __playerName: PBField
	func get_playerName() -> String:
		return __playerName.value
	func clear_playerName() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__playerName.value = DEFAULT_VALUES_2[PB_DATA_TYPE.STRING]
	func set_playerName(value : String) -> void:
		__playerName.value = value
	
	var __itemName: PBField
	func get_itemName() -> String:
		return __itemName.value
	func clear_itemName() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__itemName.value = DEFAULT_VALUES_2[PB_DATA_TYPE.STRING]
	func set_itemName(value : String) -> void:
		__itemName.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class ForbidLogin:

	static var proto_name = "ForbidLogin" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		var __vecPlayerName_default: Array[String] = []
		__vecPlayerName = PBField.new("vecPlayerName", PB_DATA_TYPE.STRING, PB_RULE.REPEATED, 1, false, __vecPlayerName_default)
		service = PBServiceField.new()
		service.field = __vecPlayerName
		data[__vecPlayerName.tag] = service
		
		var __vecPlayerID_default: Array[int] = []
		__vecPlayerID = PBField.new("vecPlayerID", PB_DATA_TYPE.INT64, PB_RULE.REPEATED, 2, false, __vecPlayerID_default)
		service = PBServiceField.new()
		service.field = __vecPlayerID
		data[__vecPlayerID.tag] = service
		
		var __vecAccountName_default: Array[String] = []
		__vecAccountName = PBField.new("vecAccountName", PB_DATA_TYPE.STRING, PB_RULE.REPEATED, 3, false, __vecAccountName_default)
		service = PBServiceField.new()
		service.field = __vecAccountName
		data[__vecAccountName.tag] = service
		
		var __vecAccountID_default: Array[int] = []
		__vecAccountID = PBField.new("vecAccountID", PB_DATA_TYPE.INT64, PB_RULE.REPEATED, 4, false, __vecAccountID_default)
		service = PBServiceField.new()
		service.field = __vecAccountID
		data[__vecAccountID.tag] = service
		
		var __vecIP_default: Array[String] = []
		__vecIP = PBField.new("vecIP", PB_DATA_TYPE.STRING, PB_RULE.REPEATED, 5, false, __vecIP_default)
		service = PBServiceField.new()
		service.field = __vecIP
		data[__vecIP.tag] = service
		
		__strReason = PBField.new("strReason", PB_DATA_TYPE.STRING, PB_RULE.REQUIRED, 6, false, DEFAULT_VALUES_2[PB_DATA_TYPE.STRING])
		service = PBServiceField.new()
		service.field = __strReason
		data[__strReason.tag] = service
		
		__nEndTime = PBField.new("nEndTime", PB_DATA_TYPE.INT64, PB_RULE.REQUIRED, 7, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT64])
		service = PBServiceField.new()
		service.field = __nEndTime
		data[__nEndTime.tag] = service
		
		__isRemove = PBField.new("isRemove", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 8, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __isRemove
		data[__isRemove.tag] = service
		
	var data = {}
	
	var __vecPlayerName: PBField
	func get_vecPlayerName() -> Array[String]:
		return __vecPlayerName.value
	func clear_vecPlayerName() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__vecPlayerName.value.clear()
	func add_vecPlayerName(value : String) -> void:
		__vecPlayerName.value.append(value)
	
	var __vecPlayerID: PBField
	func get_vecPlayerID() -> Array[int]:
		return __vecPlayerID.value
	func clear_vecPlayerID() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__vecPlayerID.value.clear()
	func add_vecPlayerID(value : int) -> void:
		__vecPlayerID.value.append(value)
	
	var __vecAccountName: PBField
	func get_vecAccountName() -> Array[String]:
		return __vecAccountName.value
	func clear_vecAccountName() -> void:
		data[3].state = PB_SERVICE_STATE.UNFILLED
		__vecAccountName.value.clear()
	func add_vecAccountName(value : String) -> void:
		__vecAccountName.value.append(value)
	
	var __vecAccountID: PBField
	func get_vecAccountID() -> Array[int]:
		return __vecAccountID.value
	func clear_vecAccountID() -> void:
		data[4].state = PB_SERVICE_STATE.UNFILLED
		__vecAccountID.value.clear()
	func add_vecAccountID(value : int) -> void:
		__vecAccountID.value.append(value)
	
	var __vecIP: PBField
	func get_vecIP() -> Array[String]:
		return __vecIP.value
	func clear_vecIP() -> void:
		data[5].state = PB_SERVICE_STATE.UNFILLED
		__vecIP.value.clear()
	func add_vecIP(value : String) -> void:
		__vecIP.value.append(value)
	
	var __strReason: PBField
	func get_strReason() -> String:
		return __strReason.value
	func clear_strReason() -> void:
		data[6].state = PB_SERVICE_STATE.UNFILLED
		__strReason.value = DEFAULT_VALUES_2[PB_DATA_TYPE.STRING]
	func set_strReason(value : String) -> void:
		__strReason.value = value
	
	var __nEndTime: PBField
	func get_nEndTime() -> int:
		return __nEndTime.value
	func clear_nEndTime() -> void:
		data[7].state = PB_SERVICE_STATE.UNFILLED
		__nEndTime.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT64]
	func set_nEndTime(value : int) -> void:
		__nEndTime.value = value
	
	var __isRemove: PBField
	func get_isRemove() -> int:
		return __isRemove.value
	func clear_isRemove() -> void:
		data[8].state = PB_SERVICE_STATE.UNFILLED
		__isRemove.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_isRemove(value : int) -> void:
		__isRemove.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class PhpSetGMPriority:

	static var proto_name = "PhpSetGMPriority" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		var __vecPlayerName_default: Array[String] = []
		__vecPlayerName = PBField.new("vecPlayerName", PB_DATA_TYPE.STRING, PB_RULE.REPEATED, 1, false, __vecPlayerName_default)
		service = PBServiceField.new()
		service.field = __vecPlayerName
		data[__vecPlayerName.tag] = service
		
		var __vecPlayerID_default: Array[int] = []
		__vecPlayerID = PBField.new("vecPlayerID", PB_DATA_TYPE.INT64, PB_RULE.REPEATED, 2, false, __vecPlayerID_default)
		service = PBServiceField.new()
		service.field = __vecPlayerID
		data[__vecPlayerID.tag] = service
		
		var __vecAccountName_default: Array[String] = []
		__vecAccountName = PBField.new("vecAccountName", PB_DATA_TYPE.STRING, PB_RULE.REPEATED, 3, false, __vecAccountName_default)
		service = PBServiceField.new()
		service.field = __vecAccountName
		data[__vecAccountName.tag] = service
		
		var __vecAccountID_default: Array[int] = []
		__vecAccountID = PBField.new("vecAccountID", PB_DATA_TYPE.INT64, PB_RULE.REPEATED, 4, false, __vecAccountID_default)
		service = PBServiceField.new()
		service.field = __vecAccountID
		data[__vecAccountID.tag] = service
		
		__nPriority = PBField.new("nPriority", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 5, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nPriority
		data[__nPriority.tag] = service
		
	var data = {}
	
	var __vecPlayerName: PBField
	func get_vecPlayerName() -> Array[String]:
		return __vecPlayerName.value
	func clear_vecPlayerName() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__vecPlayerName.value.clear()
	func add_vecPlayerName(value : String) -> void:
		__vecPlayerName.value.append(value)
	
	var __vecPlayerID: PBField
	func get_vecPlayerID() -> Array[int]:
		return __vecPlayerID.value
	func clear_vecPlayerID() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__vecPlayerID.value.clear()
	func add_vecPlayerID(value : int) -> void:
		__vecPlayerID.value.append(value)
	
	var __vecAccountName: PBField
	func get_vecAccountName() -> Array[String]:
		return __vecAccountName.value
	func clear_vecAccountName() -> void:
		data[3].state = PB_SERVICE_STATE.UNFILLED
		__vecAccountName.value.clear()
	func add_vecAccountName(value : String) -> void:
		__vecAccountName.value.append(value)
	
	var __vecAccountID: PBField
	func get_vecAccountID() -> Array[int]:
		return __vecAccountID.value
	func clear_vecAccountID() -> void:
		data[4].state = PB_SERVICE_STATE.UNFILLED
		__vecAccountID.value.clear()
	func add_vecAccountID(value : int) -> void:
		__vecAccountID.value.append(value)
	
	var __nPriority: PBField
	func get_nPriority() -> int:
		return __nPriority.value
	func clear_nPriority() -> void:
		data[5].state = PB_SERVICE_STATE.UNFILLED
		__nPriority.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nPriority(value : int) -> void:
		__nPriority.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class ForbidChat:

	static var proto_name = "ForbidChat" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		var __vecPlayerName_default: Array[String] = []
		__vecPlayerName = PBField.new("vecPlayerName", PB_DATA_TYPE.STRING, PB_RULE.REPEATED, 1, false, __vecPlayerName_default)
		service = PBServiceField.new()
		service.field = __vecPlayerName
		data[__vecPlayerName.tag] = service
		
		var __vecPlayerID_default: Array[int] = []
		__vecPlayerID = PBField.new("vecPlayerID", PB_DATA_TYPE.INT64, PB_RULE.REPEATED, 2, false, __vecPlayerID_default)
		service = PBServiceField.new()
		service.field = __vecPlayerID
		data[__vecPlayerID.tag] = service
		
		var __vecAccountName_default: Array[String] = []
		__vecAccountName = PBField.new("vecAccountName", PB_DATA_TYPE.STRING, PB_RULE.REPEATED, 3, false, __vecAccountName_default)
		service = PBServiceField.new()
		service.field = __vecAccountName
		data[__vecAccountName.tag] = service
		
		var __vecAccountID_default: Array[int] = []
		__vecAccountID = PBField.new("vecAccountID", PB_DATA_TYPE.INT64, PB_RULE.REPEATED, 4, false, __vecAccountID_default)
		service = PBServiceField.new()
		service.field = __vecAccountID
		data[__vecAccountID.tag] = service
		
		__strReason = PBField.new("strReason", PB_DATA_TYPE.STRING, PB_RULE.REQUIRED, 5, false, DEFAULT_VALUES_2[PB_DATA_TYPE.STRING])
		service = PBServiceField.new()
		service.field = __strReason
		data[__strReason.tag] = service
		
		__nEndTime = PBField.new("nEndTime", PB_DATA_TYPE.INT64, PB_RULE.REQUIRED, 6, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT64])
		service = PBServiceField.new()
		service.field = __nEndTime
		data[__nEndTime.tag] = service
		
		__isRemove = PBField.new("isRemove", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 7, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __isRemove
		data[__isRemove.tag] = service
		
	var data = {}
	
	var __vecPlayerName: PBField
	func get_vecPlayerName() -> Array[String]:
		return __vecPlayerName.value
	func clear_vecPlayerName() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__vecPlayerName.value.clear()
	func add_vecPlayerName(value : String) -> void:
		__vecPlayerName.value.append(value)
	
	var __vecPlayerID: PBField
	func get_vecPlayerID() -> Array[int]:
		return __vecPlayerID.value
	func clear_vecPlayerID() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__vecPlayerID.value.clear()
	func add_vecPlayerID(value : int) -> void:
		__vecPlayerID.value.append(value)
	
	var __vecAccountName: PBField
	func get_vecAccountName() -> Array[String]:
		return __vecAccountName.value
	func clear_vecAccountName() -> void:
		data[3].state = PB_SERVICE_STATE.UNFILLED
		__vecAccountName.value.clear()
	func add_vecAccountName(value : String) -> void:
		__vecAccountName.value.append(value)
	
	var __vecAccountID: PBField
	func get_vecAccountID() -> Array[int]:
		return __vecAccountID.value
	func clear_vecAccountID() -> void:
		data[4].state = PB_SERVICE_STATE.UNFILLED
		__vecAccountID.value.clear()
	func add_vecAccountID(value : int) -> void:
		__vecAccountID.value.append(value)
	
	var __strReason: PBField
	func get_strReason() -> String:
		return __strReason.value
	func clear_strReason() -> void:
		data[5].state = PB_SERVICE_STATE.UNFILLED
		__strReason.value = DEFAULT_VALUES_2[PB_DATA_TYPE.STRING]
	func set_strReason(value : String) -> void:
		__strReason.value = value
	
	var __nEndTime: PBField
	func get_nEndTime() -> int:
		return __nEndTime.value
	func clear_nEndTime() -> void:
		data[6].state = PB_SERVICE_STATE.UNFILLED
		__nEndTime.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT64]
	func set_nEndTime(value : int) -> void:
		__nEndTime.value = value
	
	var __isRemove: PBField
	func get_isRemove() -> int:
		return __isRemove.value
	func clear_isRemove() -> void:
		data[7].state = PB_SERVICE_STATE.UNFILLED
		__isRemove.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_isRemove(value : int) -> void:
		__isRemove.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class PhpCommonRsp:

	static var proto_name = "PhpCommonRsp" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__RetCode = PBField.new("RetCode", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __RetCode
		data[__RetCode.tag] = service
		
	var data = {}
	
	var __RetCode: PBField
	func get_RetCode() -> int:
		return __RetCode.value
	func clear_RetCode() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__RetCode.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_RetCode(value : int) -> void:
		__RetCode.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class ChargeItem:

	static var proto_name = "ChargeItem" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__strUser = PBField.new("strUser", PB_DATA_TYPE.STRING, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.STRING])
		service = PBServiceField.new()
		service.field = __strUser
		data[__strUser.tag] = service
		
		__strOrderNo = PBField.new("strOrderNo", PB_DATA_TYPE.STRING, PB_RULE.REQUIRED, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.STRING])
		service = PBServiceField.new()
		service.field = __strOrderNo
		data[__strOrderNo.tag] = service
		
		__nGoodsID = PBField.new("nGoodsID", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 3, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nGoodsID
		data[__nGoodsID.tag] = service
		
		__nAmount = PBField.new("nAmount", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 4, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nAmount
		data[__nAmount.tag] = service
		
	var data = {}
	
	var __strUser: PBField
	func get_strUser() -> String:
		return __strUser.value
	func clear_strUser() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__strUser.value = DEFAULT_VALUES_2[PB_DATA_TYPE.STRING]
	func set_strUser(value : String) -> void:
		__strUser.value = value
	
	var __strOrderNo: PBField
	func get_strOrderNo() -> String:
		return __strOrderNo.value
	func clear_strOrderNo() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__strOrderNo.value = DEFAULT_VALUES_2[PB_DATA_TYPE.STRING]
	func set_strOrderNo(value : String) -> void:
		__strOrderNo.value = value
	
	var __nGoodsID: PBField
	func get_nGoodsID() -> int:
		return __nGoodsID.value
	func clear_nGoodsID() -> void:
		data[3].state = PB_SERVICE_STATE.UNFILLED
		__nGoodsID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nGoodsID(value : int) -> void:
		__nGoodsID.value = value
	
	var __nAmount: PBField
	func get_nAmount() -> int:
		return __nAmount.value
	func clear_nAmount() -> void:
		data[4].state = PB_SERVICE_STATE.UNFILLED
		__nAmount.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nAmount(value : int) -> void:
		__nAmount.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class ChargeItemRsp:

	static var proto_name = "ChargeItemRsp" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__RetCode = PBField.new("RetCode", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __RetCode
		data[__RetCode.tag] = service
		
		__strOrderNo = PBField.new("strOrderNo", PB_DATA_TYPE.STRING, PB_RULE.REQUIRED, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.STRING])
		service = PBServiceField.new()
		service.field = __strOrderNo
		data[__strOrderNo.tag] = service
		
	var data = {}
	
	var __RetCode: PBField
	func get_RetCode() -> int:
		return __RetCode.value
	func clear_RetCode() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__RetCode.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_RetCode(value : int) -> void:
		__RetCode.value = value
	
	var __strOrderNo: PBField
	func get_strOrderNo() -> String:
		return __strOrderNo.value
	func clear_strOrderNo() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__strOrderNo.value = DEFAULT_VALUES_2[PB_DATA_TYPE.STRING]
	func set_strOrderNo(value : String) -> void:
		__strOrderNo.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class PhpOpenFunctionReq:

	static var proto_name = "PhpOpenFunctionReq" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nFunctionType = PBField.new("nFunctionType", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nFunctionType
		data[__nFunctionType.tag] = service
		
		__nFlag = PBField.new("nFlag", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nFlag
		data[__nFlag.tag] = service
		
	var data = {}
	
	var __nFunctionType: PBField
	func get_nFunctionType() -> int:
		return __nFunctionType.value
	func clear_nFunctionType() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nFunctionType.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nFunctionType(value : int) -> void:
		__nFunctionType.value = value
	
	var __nFlag: PBField
	func get_nFlag() -> int:
		return __nFlag.value
	func clear_nFlag() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__nFlag.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nFlag(value : int) -> void:
		__nFlag.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class PhpOpenFunctionRsp:

	static var proto_name = "PhpOpenFunctionRsp" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nFunctionType = PBField.new("nFunctionType", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nFunctionType
		data[__nFunctionType.tag] = service
		
		__nFlag = PBField.new("nFlag", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nFlag
		data[__nFlag.tag] = service
		
		__Note = PBField.new("Note", PB_DATA_TYPE.STRING, PB_RULE.REQUIRED, 3, false, DEFAULT_VALUES_2[PB_DATA_TYPE.STRING])
		service = PBServiceField.new()
		service.field = __Note
		data[__Note.tag] = service
		
		__RetCode = PBField.new("RetCode", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 4, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __RetCode
		data[__RetCode.tag] = service
		
	var data = {}
	
	var __nFunctionType: PBField
	func get_nFunctionType() -> int:
		return __nFunctionType.value
	func clear_nFunctionType() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nFunctionType.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nFunctionType(value : int) -> void:
		__nFunctionType.value = value
	
	var __nFlag: PBField
	func get_nFlag() -> int:
		return __nFlag.value
	func clear_nFlag() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__nFlag.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nFlag(value : int) -> void:
		__nFlag.value = value
	
	var __Note: PBField
	func get_Note() -> String:
		return __Note.value
	func clear_Note() -> void:
		data[3].state = PB_SERVICE_STATE.UNFILLED
		__Note.value = DEFAULT_VALUES_2[PB_DATA_TYPE.STRING]
	func set_Note(value : String) -> void:
		__Note.value = value
	
	var __RetCode: PBField
	func get_RetCode() -> int:
		return __RetCode.value
	func clear_RetCode() -> void:
		data[4].state = PB_SERVICE_STATE.UNFILLED
		__RetCode.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_RetCode(value : int) -> void:
		__RetCode.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class RewardItem:

	static var proto_name = "RewardItem" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nType = PBField.new("nType", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nType
		data[__nType.tag] = service
		
		__nID = PBField.new("nID", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nID
		data[__nID.tag] = service
		
		__nCount = PBField.new("nCount", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 3, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nCount
		data[__nCount.tag] = service
		
	var data = {}
	
	var __nType: PBField
	func get_nType() -> int:
		return __nType.value
	func clear_nType() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nType.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nType(value : int) -> void:
		__nType.value = value
	
	var __nID: PBField
	func get_nID() -> int:
		return __nID.value
	func clear_nID() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__nID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nID(value : int) -> void:
		__nID.value = value
	
	var __nCount: PBField
	func get_nCount() -> int:
		return __nCount.value
	func clear_nCount() -> void:
		data[3].state = PB_SERVICE_STATE.UNFILLED
		__nCount.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nCount(value : int) -> void:
		__nCount.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class PhpReward:

	static var proto_name = "PhpReward" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		var __vecPlayerID_default: Array[int] = []
		__vecPlayerID = PBField.new("vecPlayerID", PB_DATA_TYPE.INT64, PB_RULE.REPEATED, 1, false, __vecPlayerID_default)
		service = PBServiceField.new()
		service.field = __vecPlayerID
		data[__vecPlayerID.tag] = service
		
		var __vecRewards_default: Array[RewardItem] = []
		__vecRewards = PBField.new("vecRewards", PB_DATA_TYPE.MESSAGE, PB_RULE.REPEATED, 2, false, __vecRewards_default)
		service = PBServiceField.new()
		service.field = __vecRewards
		service.func_ref = Callable(self, "add_vecRewards")
		data[__vecRewards.tag] = service
		
		__strDesc = PBField.new("strDesc", PB_DATA_TYPE.STRING, PB_RULE.REQUIRED, 3, false, DEFAULT_VALUES_2[PB_DATA_TYPE.STRING])
		service = PBServiceField.new()
		service.field = __strDesc
		data[__strDesc.tag] = service
		
		__nActionType = PBField.new("nActionType", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 4, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nActionType
		data[__nActionType.tag] = service
		
	var data = {}
	
	var __vecPlayerID: PBField
	func get_vecPlayerID() -> Array[int]:
		return __vecPlayerID.value
	func clear_vecPlayerID() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__vecPlayerID.value.clear()
	func add_vecPlayerID(value : int) -> void:
		__vecPlayerID.value.append(value)
	
	var __vecRewards: PBField
	func get_vecRewards() -> Array[RewardItem]:
		return __vecRewards.value
	func clear_vecRewards() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__vecRewards.value.clear()
	func add_vecRewards() -> RewardItem:
		var element = RewardItem.new()
		__vecRewards.value.append(element)
		return element
	
	var __strDesc: PBField
	func get_strDesc() -> String:
		return __strDesc.value
	func clear_strDesc() -> void:
		data[3].state = PB_SERVICE_STATE.UNFILLED
		__strDesc.value = DEFAULT_VALUES_2[PB_DATA_TYPE.STRING]
	func set_strDesc(value : String) -> void:
		__strDesc.value = value
	
	var __nActionType: PBField
	func get_nActionType() -> int:
		return __nActionType.value
	func clear_nActionType() -> void:
		data[4].state = PB_SERVICE_STATE.UNFILLED
		__nActionType.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nActionType(value : int) -> void:
		__nActionType.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class PhpNotice:

	static var proto_name = "PhpNotice" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__ID = PBField.new("ID", PB_DATA_TYPE.STRING, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.STRING])
		service = PBServiceField.new()
		service.field = __ID
		data[__ID.tag] = service
		
		__strNotice = PBField.new("strNotice", PB_DATA_TYPE.STRING, PB_RULE.REQUIRED, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.STRING])
		service = PBServiceField.new()
		service.field = __strNotice
		data[__strNotice.tag] = service
		
		var __vecNeedNation_default: Array[String] = []
		__vecNeedNation = PBField.new("vecNeedNation", PB_DATA_TYPE.STRING, PB_RULE.REPEATED, 3, false, __vecNeedNation_default)
		service = PBServiceField.new()
		service.field = __vecNeedNation
		data[__vecNeedNation.tag] = service
		
		var __vecNeedPlatform_default: Array[String] = []
		__vecNeedPlatform = PBField.new("vecNeedPlatform", PB_DATA_TYPE.STRING, PB_RULE.REPEATED, 4, false, __vecNeedPlatform_default)
		service = PBServiceField.new()
		service.field = __vecNeedPlatform
		data[__vecNeedPlatform.tag] = service
		
		var __vecNeedLang_default: Array[int] = []
		__vecNeedLang = PBField.new("vecNeedLang", PB_DATA_TYPE.INT32, PB_RULE.REPEATED, 5, false, __vecNeedLang_default)
		service = PBServiceField.new()
		service.field = __vecNeedLang
		data[__vecNeedLang.tag] = service
		
		__nBeginTime = PBField.new("nBeginTime", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 6, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nBeginTime
		data[__nBeginTime.tag] = service
		
		__nEndTime = PBField.new("nEndTime", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 7, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nEndTime
		data[__nEndTime.tag] = service
		
		__nInterval = PBField.new("nInterval", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 8, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nInterval
		data[__nInterval.tag] = service
		
		__nNoticeType = PBField.new("nNoticeType", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 9, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nNoticeType
		data[__nNoticeType.tag] = service
		
	var data = {}
	
	var __ID: PBField
	func get_ID() -> String:
		return __ID.value
	func clear_ID() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__ID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.STRING]
	func set_ID(value : String) -> void:
		__ID.value = value
	
	var __strNotice: PBField
	func get_strNotice() -> String:
		return __strNotice.value
	func clear_strNotice() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__strNotice.value = DEFAULT_VALUES_2[PB_DATA_TYPE.STRING]
	func set_strNotice(value : String) -> void:
		__strNotice.value = value
	
	var __vecNeedNation: PBField
	func get_vecNeedNation() -> Array[String]:
		return __vecNeedNation.value
	func clear_vecNeedNation() -> void:
		data[3].state = PB_SERVICE_STATE.UNFILLED
		__vecNeedNation.value.clear()
	func add_vecNeedNation(value : String) -> void:
		__vecNeedNation.value.append(value)
	
	var __vecNeedPlatform: PBField
	func get_vecNeedPlatform() -> Array[String]:
		return __vecNeedPlatform.value
	func clear_vecNeedPlatform() -> void:
		data[4].state = PB_SERVICE_STATE.UNFILLED
		__vecNeedPlatform.value.clear()
	func add_vecNeedPlatform(value : String) -> void:
		__vecNeedPlatform.value.append(value)
	
	var __vecNeedLang: PBField
	func get_vecNeedLang() -> Array[int]:
		return __vecNeedLang.value
	func clear_vecNeedLang() -> void:
		data[5].state = PB_SERVICE_STATE.UNFILLED
		__vecNeedLang.value.clear()
	func add_vecNeedLang(value : int) -> void:
		__vecNeedLang.value.append(value)
	
	var __nBeginTime: PBField
	func get_nBeginTime() -> int:
		return __nBeginTime.value
	func clear_nBeginTime() -> void:
		data[6].state = PB_SERVICE_STATE.UNFILLED
		__nBeginTime.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nBeginTime(value : int) -> void:
		__nBeginTime.value = value
	
	var __nEndTime: PBField
	func get_nEndTime() -> int:
		return __nEndTime.value
	func clear_nEndTime() -> void:
		data[7].state = PB_SERVICE_STATE.UNFILLED
		__nEndTime.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nEndTime(value : int) -> void:
		__nEndTime.value = value
	
	var __nInterval: PBField
	func get_nInterval() -> int:
		return __nInterval.value
	func clear_nInterval() -> void:
		data[8].state = PB_SERVICE_STATE.UNFILLED
		__nInterval.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nInterval(value : int) -> void:
		__nInterval.value = value
	
	var __nNoticeType: PBField
	func get_nNoticeType() -> int:
		return __nNoticeType.value
	func clear_nNoticeType() -> void:
		data[9].state = PB_SERVICE_STATE.UNFILLED
		__nNoticeType.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nNoticeType(value : int) -> void:
		__nNoticeType.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class PhpEmail:

	static var proto_name = "PhpEmail" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		var __vecPlayerName_default: Array[String] = []
		__vecPlayerName = PBField.new("vecPlayerName", PB_DATA_TYPE.STRING, PB_RULE.REPEATED, 1, false, __vecPlayerName_default)
		service = PBServiceField.new()
		service.field = __vecPlayerName
		data[__vecPlayerName.tag] = service
		
		var __vecPlayerID_default: Array[int] = []
		__vecPlayerID = PBField.new("vecPlayerID", PB_DATA_TYPE.INT64, PB_RULE.REPEATED, 2, false, __vecPlayerID_default)
		service = PBServiceField.new()
		service.field = __vecPlayerID
		data[__vecPlayerID.tag] = service
		
		var __vecAccountName_default: Array[String] = []
		__vecAccountName = PBField.new("vecAccountName", PB_DATA_TYPE.STRING, PB_RULE.REPEATED, 3, false, __vecAccountName_default)
		service = PBServiceField.new()
		service.field = __vecAccountName
		data[__vecAccountName.tag] = service
		
		var __vecAccountID_default: Array[int] = []
		__vecAccountID = PBField.new("vecAccountID", PB_DATA_TYPE.INT64, PB_RULE.REPEATED, 4, false, __vecAccountID_default)
		service = PBServiceField.new()
		service.field = __vecAccountID
		data[__vecAccountID.tag] = service
		
		var __vecNeedNation_default: Array[String] = []
		__vecNeedNation = PBField.new("vecNeedNation", PB_DATA_TYPE.STRING, PB_RULE.REPEATED, 5, false, __vecNeedNation_default)
		service = PBServiceField.new()
		service.field = __vecNeedNation
		data[__vecNeedNation.tag] = service
		
		var __vecNeedPlatform_default: Array[String] = []
		__vecNeedPlatform = PBField.new("vecNeedPlatform", PB_DATA_TYPE.STRING, PB_RULE.REPEATED, 6, false, __vecNeedPlatform_default)
		service = PBServiceField.new()
		service.field = __vecNeedPlatform
		data[__vecNeedPlatform.tag] = service
		
		var __vecNeedLang_default: Array[int] = []
		__vecNeedLang = PBField.new("vecNeedLang", PB_DATA_TYPE.INT32, PB_RULE.REPEATED, 7, false, __vecNeedLang_default)
		service = PBServiceField.new()
		service.field = __vecNeedLang
		data[__vecNeedLang.tag] = service
		
		__nEndTime = PBField.new("nEndTime", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 8, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nEndTime
		data[__nEndTime.tag] = service
		
		__title = PBField.new("title", PB_DATA_TYPE.STRING, PB_RULE.REQUIRED, 9, false, DEFAULT_VALUES_2[PB_DATA_TYPE.STRING])
		service = PBServiceField.new()
		service.field = __title
		data[__title.tag] = service
		
		__content = PBField.new("content", PB_DATA_TYPE.STRING, PB_RULE.REQUIRED, 10, false, DEFAULT_VALUES_2[PB_DATA_TYPE.STRING])
		service = PBServiceField.new()
		service.field = __content
		data[__content.tag] = service
		
		var __itemdes_default: Array[RewardItem] = []
		__itemdes = PBField.new("itemdes", PB_DATA_TYPE.MESSAGE, PB_RULE.REPEATED, 11, false, __itemdes_default)
		service = PBServiceField.new()
		service.field = __itemdes
		service.func_ref = Callable(self, "add_itemdes")
		data[__itemdes.tag] = service
		
	var data = {}
	
	var __vecPlayerName: PBField
	func get_vecPlayerName() -> Array[String]:
		return __vecPlayerName.value
	func clear_vecPlayerName() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__vecPlayerName.value.clear()
	func add_vecPlayerName(value : String) -> void:
		__vecPlayerName.value.append(value)
	
	var __vecPlayerID: PBField
	func get_vecPlayerID() -> Array[int]:
		return __vecPlayerID.value
	func clear_vecPlayerID() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__vecPlayerID.value.clear()
	func add_vecPlayerID(value : int) -> void:
		__vecPlayerID.value.append(value)
	
	var __vecAccountName: PBField
	func get_vecAccountName() -> Array[String]:
		return __vecAccountName.value
	func clear_vecAccountName() -> void:
		data[3].state = PB_SERVICE_STATE.UNFILLED
		__vecAccountName.value.clear()
	func add_vecAccountName(value : String) -> void:
		__vecAccountName.value.append(value)
	
	var __vecAccountID: PBField
	func get_vecAccountID() -> Array[int]:
		return __vecAccountID.value
	func clear_vecAccountID() -> void:
		data[4].state = PB_SERVICE_STATE.UNFILLED
		__vecAccountID.value.clear()
	func add_vecAccountID(value : int) -> void:
		__vecAccountID.value.append(value)
	
	var __vecNeedNation: PBField
	func get_vecNeedNation() -> Array[String]:
		return __vecNeedNation.value
	func clear_vecNeedNation() -> void:
		data[5].state = PB_SERVICE_STATE.UNFILLED
		__vecNeedNation.value.clear()
	func add_vecNeedNation(value : String) -> void:
		__vecNeedNation.value.append(value)
	
	var __vecNeedPlatform: PBField
	func get_vecNeedPlatform() -> Array[String]:
		return __vecNeedPlatform.value
	func clear_vecNeedPlatform() -> void:
		data[6].state = PB_SERVICE_STATE.UNFILLED
		__vecNeedPlatform.value.clear()
	func add_vecNeedPlatform(value : String) -> void:
		__vecNeedPlatform.value.append(value)
	
	var __vecNeedLang: PBField
	func get_vecNeedLang() -> Array[int]:
		return __vecNeedLang.value
	func clear_vecNeedLang() -> void:
		data[7].state = PB_SERVICE_STATE.UNFILLED
		__vecNeedLang.value.clear()
	func add_vecNeedLang(value : int) -> void:
		__vecNeedLang.value.append(value)
	
	var __nEndTime: PBField
	func get_nEndTime() -> int:
		return __nEndTime.value
	func clear_nEndTime() -> void:
		data[8].state = PB_SERVICE_STATE.UNFILLED
		__nEndTime.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nEndTime(value : int) -> void:
		__nEndTime.value = value
	
	var __title: PBField
	func get_title() -> String:
		return __title.value
	func clear_title() -> void:
		data[9].state = PB_SERVICE_STATE.UNFILLED
		__title.value = DEFAULT_VALUES_2[PB_DATA_TYPE.STRING]
	func set_title(value : String) -> void:
		__title.value = value
	
	var __content: PBField
	func get_content() -> String:
		return __content.value
	func clear_content() -> void:
		data[10].state = PB_SERVICE_STATE.UNFILLED
		__content.value = DEFAULT_VALUES_2[PB_DATA_TYPE.STRING]
	func set_content(value : String) -> void:
		__content.value = value
	
	var __itemdes: PBField
	func get_itemdes() -> Array[RewardItem]:
		return __itemdes.value
	func clear_itemdes() -> void:
		data[11].state = PB_SERVICE_STATE.UNFILLED
		__itemdes.value.clear()
	func add_itemdes() -> RewardItem:
		var element = RewardItem.new()
		__itemdes.value.append(element)
		return element
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class C2S_ValidateAccount:

	static var proto_name = "C2S_ValidateAccount" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__AccountName = PBField.new("AccountName", PB_DATA_TYPE.STRING, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.STRING])
		service = PBServiceField.new()
		service.field = __AccountName
		data[__AccountName.tag] = service
		
	var data = {}
	
	var __AccountName: PBField
	func get_AccountName() -> String:
		return __AccountName.value
	func clear_AccountName() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__AccountName.value = DEFAULT_VALUES_2[PB_DATA_TYPE.STRING]
	func set_AccountName(value : String) -> void:
		__AccountName.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S2C_CreatePlayer:

	static var proto_name = "S2C_CreatePlayer" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__UUID = PBField.new("UUID", PB_DATA_TYPE.DOUBLE, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __UUID
		data[__UUID.tag] = service
		
		__PlayerData = PBField.new("PlayerData", PB_DATA_TYPE.BYTES, PB_RULE.REQUIRED, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.BYTES])
		service = PBServiceField.new()
		service.field = __PlayerData
		data[__PlayerData.tag] = service
		
		__datasize = PBField.new("datasize", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 3, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __datasize
		data[__datasize.tag] = service
		
	var data = {}
	
	var __UUID: PBField
	func get_UUID() -> float:
		return __UUID.value
	func clear_UUID() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__UUID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_UUID(value : float) -> void:
		__UUID.value = value
	
	var __PlayerData: PBField
	func get_PlayerData() -> PackedByteArray:
		return __PlayerData.value
	func clear_PlayerData() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__PlayerData.value = DEFAULT_VALUES_2[PB_DATA_TYPE.BYTES]
	func set_PlayerData(value : PackedByteArray) -> void:
		__PlayerData.value = value
	
	var __datasize: PBField
	func get_datasize() -> int:
		return __datasize.value
	func clear_datasize() -> void:
		data[3].state = PB_SERVICE_STATE.UNFILLED
		__datasize.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_datasize(value : int) -> void:
		__datasize.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S2C_NotifyLoadScene:

	static var proto_name = "S2C_NotifyLoadScene" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__UUID = PBField.new("UUID", PB_DATA_TYPE.DOUBLE, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __UUID
		data[__UUID.tag] = service
		
		__ConfigID = PBField.new("ConfigID", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __ConfigID
		data[__ConfigID.tag] = service
		
		__xEnterPos = PBField.new("xEnterPos", PB_DATA_TYPE.FLOAT, PB_RULE.OPTIONAL, 3, false, DEFAULT_VALUES_2[PB_DATA_TYPE.FLOAT])
		service = PBServiceField.new()
		service.field = __xEnterPos
		data[__xEnterPos.tag] = service
		
		__yEnterPos = PBField.new("yEnterPos", PB_DATA_TYPE.FLOAT, PB_RULE.OPTIONAL, 4, false, DEFAULT_VALUES_2[PB_DATA_TYPE.FLOAT])
		service = PBServiceField.new()
		service.field = __yEnterPos
		data[__yEnterPos.tag] = service
		
		__RandomSeed = PBField.new("RandomSeed", PB_DATA_TYPE.INT32, PB_RULE.OPTIONAL, 5, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __RandomSeed
		data[__RandomSeed.tag] = service
		
	var data = {}
	
	var __UUID: PBField
	func get_UUID() -> float:
		return __UUID.value
	func clear_UUID() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__UUID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_UUID(value : float) -> void:
		__UUID.value = value
	
	var __ConfigID: PBField
	func get_ConfigID() -> int:
		return __ConfigID.value
	func clear_ConfigID() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__ConfigID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_ConfigID(value : int) -> void:
		__ConfigID.value = value
	
	var __xEnterPos: PBField
	func has_xEnterPos() -> bool:
		if __xEnterPos.value != null:
			return true
		return false
	func get_xEnterPos() -> float:
		return __xEnterPos.value
	func clear_xEnterPos() -> void:
		data[3].state = PB_SERVICE_STATE.UNFILLED
		__xEnterPos.value = DEFAULT_VALUES_2[PB_DATA_TYPE.FLOAT]
	func set_xEnterPos(value : float) -> void:
		__xEnterPos.value = value
	
	var __yEnterPos: PBField
	func has_yEnterPos() -> bool:
		if __yEnterPos.value != null:
			return true
		return false
	func get_yEnterPos() -> float:
		return __yEnterPos.value
	func clear_yEnterPos() -> void:
		data[4].state = PB_SERVICE_STATE.UNFILLED
		__yEnterPos.value = DEFAULT_VALUES_2[PB_DATA_TYPE.FLOAT]
	func set_yEnterPos(value : float) -> void:
		__yEnterPos.value = value
	
	var __RandomSeed: PBField
	func has_RandomSeed() -> bool:
		if __RandomSeed.value != null:
			return true
		return false
	func get_RandomSeed() -> int:
		return __RandomSeed.value
	func clear_RandomSeed() -> void:
		data[5].state = PB_SERVICE_STATE.UNFILLED
		__RandomSeed.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_RandomSeed(value : int) -> void:
		__RandomSeed.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class C2S_ClientSceneLoaded:

	static var proto_name = "C2S_ClientSceneLoaded" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
	var data = {}
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class C2S_QuerySwitchLine:

	static var proto_name = "C2S_QuerySwitchLine" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__strIP = PBField.new("strIP", PB_DATA_TYPE.STRING, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.STRING])
		service = PBServiceField.new()
		service.field = __strIP
		data[__strIP.tag] = service
		
		__nPort = PBField.new("nPort", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nPort
		data[__nPort.tag] = service
		
	var data = {}
	
	var __strIP: PBField
	func get_strIP() -> String:
		return __strIP.value
	func clear_strIP() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__strIP.value = DEFAULT_VALUES_2[PB_DATA_TYPE.STRING]
	func set_strIP(value : String) -> void:
		__strIP.value = value
	
	var __nPort: PBField
	func get_nPort() -> int:
		return __nPort.value
	func clear_nPort() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__nPort.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nPort(value : int) -> void:
		__nPort.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S2C_SynSelfData:

	static var proto_name = "S2C_SynSelfData" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nTableID = PBField.new("nTableID", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nTableID
		data[__nTableID.tag] = service
		
		__nFieldID = PBField.new("nFieldID", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nFieldID
		data[__nFieldID.tag] = service
		
		__nOperType = PBField.new("nOperType", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 3, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nOperType
		data[__nOperType.tag] = service
		
		__datasize = PBField.new("datasize", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 4, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __datasize
		data[__datasize.tag] = service
		
		__data = PBField.new("data", PB_DATA_TYPE.BYTES, PB_RULE.OPTIONAL, 5, false, DEFAULT_VALUES_2[PB_DATA_TYPE.BYTES])
		service = PBServiceField.new()
		service.field = __data
		data[__data.tag] = service
		
	var data = {}
	
	var __nTableID: PBField
	func get_nTableID() -> int:
		return __nTableID.value
	func clear_nTableID() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nTableID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nTableID(value : int) -> void:
		__nTableID.value = value
	
	var __nFieldID: PBField
	func get_nFieldID() -> int:
		return __nFieldID.value
	func clear_nFieldID() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__nFieldID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nFieldID(value : int) -> void:
		__nFieldID.value = value
	
	var __nOperType: PBField
	func get_nOperType() -> int:
		return __nOperType.value
	func clear_nOperType() -> void:
		data[3].state = PB_SERVICE_STATE.UNFILLED
		__nOperType.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nOperType(value : int) -> void:
		__nOperType.value = value
	
	var __datasize: PBField
	func get_datasize() -> int:
		return __datasize.value
	func clear_datasize() -> void:
		data[4].state = PB_SERVICE_STATE.UNFILLED
		__datasize.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_datasize(value : int) -> void:
		__datasize.value = value
	
	var __data: PBField
	func has_data() -> bool:
		if __data.value != null:
			return true
		return false
	func get_data() -> PackedByteArray:
		return __data.value
	func clear_data() -> void:
		data[5].state = PB_SERVICE_STATE.UNFILLED
		__data.value = DEFAULT_VALUES_2[PB_DATA_TYPE.BYTES]
	func set_data(value : PackedByteArray) -> void:
		__data.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S_S2CE_DayChange:

	static var proto_name = "S_S2CE_DayChange" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__dPlayerID = PBField.new("dPlayerID", PB_DATA_TYPE.DOUBLE, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __dPlayerID
		data[__dPlayerID.tag] = service
		
	var data = {}
	
	var __dPlayerID: PBField
	func get_dPlayerID() -> float:
		return __dPlayerID.value
	func clear_dPlayerID() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__dPlayerID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_dPlayerID(value : float) -> void:
		__dPlayerID.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S_S2CE_WeekChange:

	static var proto_name = "S_S2CE_WeekChange" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__dPlayerID = PBField.new("dPlayerID", PB_DATA_TYPE.DOUBLE, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __dPlayerID
		data[__dPlayerID.tag] = service
		
	var data = {}
	
	var __dPlayerID: PBField
	func get_dPlayerID() -> float:
		return __dPlayerID.value
	func clear_dPlayerID() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__dPlayerID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_dPlayerID(value : float) -> void:
		__dPlayerID.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class C2S_SynCliProperty:

	static var proto_name = "C2S_SynCliProperty" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__eDataType = PBField.new("eDataType", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __eDataType
		data[__eDataType.tag] = service
		
		__eValueType = PBField.new("eValueType", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __eValueType
		data[__eValueType.tag] = service
		
		__nValue = PBField.new("nValue", PB_DATA_TYPE.DOUBLE, PB_RULE.REQUIRED, 3, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __nValue
		data[__nValue.tag] = service
		
		__nMaxValue = PBField.new("nMaxValue", PB_DATA_TYPE.DOUBLE, PB_RULE.REQUIRED, 4, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __nMaxValue
		data[__nMaxValue.tag] = service
		
	var data = {}
	
	var __eDataType: PBField
	func get_eDataType() -> int:
		return __eDataType.value
	func clear_eDataType() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__eDataType.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_eDataType(value : int) -> void:
		__eDataType.value = value
	
	var __eValueType: PBField
	func get_eValueType() -> int:
		return __eValueType.value
	func clear_eValueType() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__eValueType.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_eValueType(value : int) -> void:
		__eValueType.value = value
	
	var __nValue: PBField
	func get_nValue() -> float:
		return __nValue.value
	func clear_nValue() -> void:
		data[3].state = PB_SERVICE_STATE.UNFILLED
		__nValue.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_nValue(value : float) -> void:
		__nValue.value = value
	
	var __nMaxValue: PBField
	func get_nMaxValue() -> float:
		return __nMaxValue.value
	func clear_nMaxValue() -> void:
		data[4].state = PB_SERVICE_STATE.UNFILLED
		__nMaxValue.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_nMaxValue(value : float) -> void:
		__nMaxValue.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class C2S_GetPlayerDataPack:

	static var proto_name = "C2S_GetPlayerDataPack" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		var __dQueryUUIDs_default: Array[float] = []
		__dQueryUUIDs = PBField.new("dQueryUUIDs", PB_DATA_TYPE.DOUBLE, PB_RULE.REPEATED, 1, false, __dQueryUUIDs_default)
		service = PBServiceField.new()
		service.field = __dQueryUUIDs
		data[__dQueryUUIDs.tag] = service
		
		__bForce = PBField.new("bForce", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __bForce
		data[__bForce.tag] = service
		
	var data = {}
	
	var __dQueryUUIDs: PBField
	func get_dQueryUUIDs() -> Array[float]:
		return __dQueryUUIDs.value
	func clear_dQueryUUIDs() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__dQueryUUIDs.value.clear()
	func add_dQueryUUIDs(value : float) -> void:
		__dQueryUUIDs.value.append(value)
	
	var __bForce: PBField
	func get_bForce() -> int:
		return __bForce.value
	func clear_bForce() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__bForce.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_bForce(value : int) -> void:
		__bForce.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S_S2CE_GetPlayerDataPack:

	static var proto_name = "S_S2CE_GetPlayerDataPack" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__dPlayerID = PBField.new("dPlayerID", PB_DATA_TYPE.DOUBLE, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __dPlayerID
		data[__dPlayerID.tag] = service
		
		var __dQueryUUIDs_default: Array[float] = []
		__dQueryUUIDs = PBField.new("dQueryUUIDs", PB_DATA_TYPE.DOUBLE, PB_RULE.REPEATED, 2, false, __dQueryUUIDs_default)
		service = PBServiceField.new()
		service.field = __dQueryUUIDs
		data[__dQueryUUIDs.tag] = service
		
		__bForce = PBField.new("bForce", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 3, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __bForce
		data[__bForce.tag] = service
		
	var data = {}
	
	var __dPlayerID: PBField
	func get_dPlayerID() -> float:
		return __dPlayerID.value
	func clear_dPlayerID() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__dPlayerID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_dPlayerID(value : float) -> void:
		__dPlayerID.value = value
	
	var __dQueryUUIDs: PBField
	func get_dQueryUUIDs() -> Array[float]:
		return __dQueryUUIDs.value
	func clear_dQueryUUIDs() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__dQueryUUIDs.value.clear()
	func add_dQueryUUIDs(value : float) -> void:
		__dQueryUUIDs.value.append(value)
	
	var __bForce: PBField
	func get_bForce() -> int:
		return __bForce.value
	func clear_bForce() -> void:
		data[3].state = PB_SERVICE_STATE.UNFILLED
		__bForce.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_bForce(value : int) -> void:
		__bForce.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S_CE2G_TransmitGetPlayerData:

	static var proto_name = "S_CE2G_TransmitGetPlayerData" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__dPlayerID = PBField.new("dPlayerID", PB_DATA_TYPE.DOUBLE, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __dPlayerID
		data[__dPlayerID.tag] = service
		
		__dQueryUUID = PBField.new("dQueryUUID", PB_DATA_TYPE.DOUBLE, PB_RULE.REQUIRED, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __dQueryUUID
		data[__dQueryUUID.tag] = service
		
		__bForce = PBField.new("bForce", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 3, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __bForce
		data[__bForce.tag] = service
		
	var data = {}
	
	var __dPlayerID: PBField
	func get_dPlayerID() -> float:
		return __dPlayerID.value
	func clear_dPlayerID() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__dPlayerID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_dPlayerID(value : float) -> void:
		__dPlayerID.value = value
	
	var __dQueryUUID: PBField
	func get_dQueryUUID() -> float:
		return __dQueryUUID.value
	func clear_dQueryUUID() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__dQueryUUID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_dQueryUUID(value : float) -> void:
		__dQueryUUID.value = value
	
	var __bForce: PBField
	func get_bForce() -> int:
		return __bForce.value
	func clear_bForce() -> void:
		data[3].state = PB_SERVICE_STATE.UNFILLED
		__bForce.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_bForce(value : int) -> void:
		__bForce.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S_G2CE_AckTransmitGetPlayerData:

	static var proto_name = "S_G2CE_AckTransmitGetPlayerData" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__dQueryUUID = PBField.new("dQueryUUID", PB_DATA_TYPE.DOUBLE, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __dQueryUUID
		data[__dQueryUUID.tag] = service
		
		__dPlayerID = PBField.new("dPlayerID", PB_DATA_TYPE.DOUBLE, PB_RULE.REQUIRED, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __dPlayerID
		data[__dPlayerID.tag] = service
		
		__ret = PBField.new("ret", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 3, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __ret
		data[__ret.tag] = service
		
		__bForce = PBField.new("bForce", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 4, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __bForce
		data[__bForce.tag] = service
		
	var data = {}
	
	var __dQueryUUID: PBField
	func get_dQueryUUID() -> float:
		return __dQueryUUID.value
	func clear_dQueryUUID() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__dQueryUUID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_dQueryUUID(value : float) -> void:
		__dQueryUUID.value = value
	
	var __dPlayerID: PBField
	func get_dPlayerID() -> float:
		return __dPlayerID.value
	func clear_dPlayerID() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__dPlayerID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_dPlayerID(value : float) -> void:
		__dPlayerID.value = value
	
	var __ret: PBField
	func get_ret() -> int:
		return __ret.value
	func clear_ret() -> void:
		data[3].state = PB_SERVICE_STATE.UNFILLED
		__ret.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_ret(value : int) -> void:
		__ret.value = value
	
	var __bForce: PBField
	func get_bForce() -> int:
		return __bForce.value
	func clear_bForce() -> void:
		data[4].state = PB_SERVICE_STATE.UNFILLED
		__bForce.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_bForce(value : int) -> void:
		__bForce.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S_CE2C_GetPlayerDataPack:

	static var proto_name = "S_CE2C_GetPlayerDataPack" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__dQueryUUID = PBField.new("dQueryUUID", PB_DATA_TYPE.DOUBLE, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __dQueryUUID
		data[__dQueryUUID.tag] = service
		
		__nRawPlayerData = PBField.new("nRawPlayerData", PB_DATA_TYPE.BYTES, PB_RULE.REQUIRED, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.BYTES])
		service = PBServiceField.new()
		service.field = __nRawPlayerData
		data[__nRawPlayerData.tag] = service
		
		__nDatasize = PBField.new("nDatasize", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 3, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nDatasize
		data[__nDatasize.tag] = service
		
		__OnlineState = PBField.new("OnlineState", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 4, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __OnlineState
		data[__OnlineState.tag] = service
		
	var data = {}
	
	var __dQueryUUID: PBField
	func get_dQueryUUID() -> float:
		return __dQueryUUID.value
	func clear_dQueryUUID() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__dQueryUUID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_dQueryUUID(value : float) -> void:
		__dQueryUUID.value = value
	
	var __nRawPlayerData: PBField
	func get_nRawPlayerData() -> PackedByteArray:
		return __nRawPlayerData.value
	func clear_nRawPlayerData() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__nRawPlayerData.value = DEFAULT_VALUES_2[PB_DATA_TYPE.BYTES]
	func set_nRawPlayerData(value : PackedByteArray) -> void:
		__nRawPlayerData.value = value
	
	var __nDatasize: PBField
	func get_nDatasize() -> int:
		return __nDatasize.value
	func clear_nDatasize() -> void:
		data[3].state = PB_SERVICE_STATE.UNFILLED
		__nDatasize.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nDatasize(value : int) -> void:
		__nDatasize.value = value
	
	var __OnlineState: PBField
	func get_OnlineState() -> int:
		return __OnlineState.value
	func clear_OnlineState() -> void:
		data[4].state = PB_SERVICE_STATE.UNFILLED
		__OnlineState.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_OnlineState(value : int) -> void:
		__OnlineState.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class C2S_ReqSkillList:

	static var proto_name = "C2S_ReqSkillList" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
	var data = {}
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S2C_ReqSkillList:

	static var proto_name = "S2C_ReqSkillList" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		var __Skills_default: Array[int] = []
		__Skills = PBField.new("Skills", PB_DATA_TYPE.INT32, PB_RULE.REPEATED, 1, false, __Skills_default)
		service = PBServiceField.new()
		service.field = __Skills
		data[__Skills.tag] = service
		
	var data = {}
	
	var __Skills: PBField
	func get_Skills() -> Array[int]:
		return __Skills.value
	func clear_Skills() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__Skills.value.clear()
	func add_Skills(value : int) -> void:
		__Skills.value.append(value)
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class C2S_RenameByItem:

	static var proto_name = "C2S_RenameByItem" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__CharName = PBField.new("CharName", PB_DATA_TYPE.STRING, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.STRING])
		service = PBServiceField.new()
		service.field = __CharName
		data[__CharName.tag] = service
		
	var data = {}
	
	var __CharName: PBField
	func get_CharName() -> String:
		return __CharName.value
	func clear_CharName() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__CharName.value = DEFAULT_VALUES_2[PB_DATA_TYPE.STRING]
	func set_CharName(value : String) -> void:
		__CharName.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S2C_SynCombatEffectiveness:

	static var proto_name = "S2C_SynCombatEffectiveness" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nNumber = PBField.new("nNumber", PB_DATA_TYPE.INT64, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT64])
		service = PBServiceField.new()
		service.field = __nNumber
		data[__nNumber.tag] = service
		
	var data = {}
	
	var __nNumber: PBField
	func get_nNumber() -> int:
		return __nNumber.value
	func clear_nNumber() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nNumber.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT64]
	func set_nNumber(value : int) -> void:
		__nNumber.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class KEY_VALUE:

	static var proto_name = "KEY_VALUE" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nType = PBField.new("nType", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nType
		data[__nType.tag] = service
		
		__nValue = PBField.new("nValue", PB_DATA_TYPE.INT64, PB_RULE.OPTIONAL, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT64])
		service = PBServiceField.new()
		service.field = __nValue
		data[__nValue.tag] = service
		
		__strValue = PBField.new("strValue", PB_DATA_TYPE.STRING, PB_RULE.OPTIONAL, 3, false, DEFAULT_VALUES_2[PB_DATA_TYPE.STRING])
		service = PBServiceField.new()
		service.field = __strValue
		data[__strValue.tag] = service
		
	var data = {}
	
	var __nType: PBField
	func get_nType() -> int:
		return __nType.value
	func clear_nType() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nType.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nType(value : int) -> void:
		__nType.value = value
	
	var __nValue: PBField
	func has_nValue() -> bool:
		if __nValue.value != null:
			return true
		return false
	func get_nValue() -> int:
		return __nValue.value
	func clear_nValue() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__nValue.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT64]
	func set_nValue(value : int) -> void:
		__nValue.value = value
	
	var __strValue: PBField
	func has_strValue() -> bool:
		if __strValue.value != null:
			return true
		return false
	func get_strValue() -> String:
		return __strValue.value
	func clear_strValue() -> void:
		data[3].state = PB_SERVICE_STATE.UNFILLED
		__strValue.value = DEFAULT_VALUES_2[PB_DATA_TYPE.STRING]
	func set_strValue(value : String) -> void:
		__strValue.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S2S_UpdatePlayerData:

	static var proto_name = "S2S_UpdatePlayerData" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nPlayerID = PBField.new("nPlayerID", PB_DATA_TYPE.INT64, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT64])
		service = PBServiceField.new()
		service.field = __nPlayerID
		data[__nPlayerID.tag] = service
		
		var __vecKeyValue_default: Array[KEY_VALUE] = []
		__vecKeyValue = PBField.new("vecKeyValue", PB_DATA_TYPE.MESSAGE, PB_RULE.REPEATED, 2, false, __vecKeyValue_default)
		service = PBServiceField.new()
		service.field = __vecKeyValue
		service.func_ref = Callable(self, "add_vecKeyValue")
		data[__vecKeyValue.tag] = service
		
	var data = {}
	
	var __nPlayerID: PBField
	func get_nPlayerID() -> int:
		return __nPlayerID.value
	func clear_nPlayerID() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nPlayerID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT64]
	func set_nPlayerID(value : int) -> void:
		__nPlayerID.value = value
	
	var __vecKeyValue: PBField
	func get_vecKeyValue() -> Array[KEY_VALUE]:
		return __vecKeyValue.value
	func clear_vecKeyValue() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__vecKeyValue.value.clear()
	func add_vecKeyValue() -> KEY_VALUE:
		var element = KEY_VALUE.new()
		__vecKeyValue.value.append(element)
		return element
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S2S_UpdatePlayerDataRsp:

	static var proto_name = "S2S_UpdatePlayerDataRsp" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nRetCode = PBField.new("nRetCode", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nRetCode
		data[__nRetCode.tag] = service
		
		__nPlayerID = PBField.new("nPlayerID", PB_DATA_TYPE.INT64, PB_RULE.REQUIRED, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT64])
		service = PBServiceField.new()
		service.field = __nPlayerID
		data[__nPlayerID.tag] = service
		
		var __vecKeyValue_default: Array[KEY_VALUE] = []
		__vecKeyValue = PBField.new("vecKeyValue", PB_DATA_TYPE.MESSAGE, PB_RULE.REPEATED, 3, false, __vecKeyValue_default)
		service = PBServiceField.new()
		service.field = __vecKeyValue
		service.func_ref = Callable(self, "add_vecKeyValue")
		data[__vecKeyValue.tag] = service
		
	var data = {}
	
	var __nRetCode: PBField
	func get_nRetCode() -> int:
		return __nRetCode.value
	func clear_nRetCode() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nRetCode.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nRetCode(value : int) -> void:
		__nRetCode.value = value
	
	var __nPlayerID: PBField
	func get_nPlayerID() -> int:
		return __nPlayerID.value
	func clear_nPlayerID() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__nPlayerID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT64]
	func set_nPlayerID(value : int) -> void:
		__nPlayerID.value = value
	
	var __vecKeyValue: PBField
	func get_vecKeyValue() -> Array[KEY_VALUE]:
		return __vecKeyValue.value
	func clear_vecKeyValue() -> void:
		data[3].state = PB_SERVICE_STATE.UNFILLED
		__vecKeyValue.value.clear()
	func add_vecKeyValue() -> KEY_VALUE:
		var element = KEY_VALUE.new()
		__vecKeyValue.value.append(element)
		return element
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class C2S_LinkRankData:

	static var proto_name = "C2S_LinkRankData" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nRankType = PBField.new("nRankType", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nRankType
		data[__nRankType.tag] = service
		
	var data = {}
	
	var __nRankType: PBField
	func get_nRankType() -> int:
		return __nRankType.value
	func clear_nRankType() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nRankType.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nRankType(value : int) -> void:
		__nRankType.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S_S2CE_LinkRankData:

	static var proto_name = "S_S2CE_LinkRankData" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__dPlayerID = PBField.new("dPlayerID", PB_DATA_TYPE.DOUBLE, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __dPlayerID
		data[__dPlayerID.tag] = service
		
		__nRankType = PBField.new("nRankType", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nRankType
		data[__nRankType.tag] = service
		
	var data = {}
	
	var __dPlayerID: PBField
	func get_dPlayerID() -> float:
		return __dPlayerID.value
	func clear_dPlayerID() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__dPlayerID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_dPlayerID(value : float) -> void:
		__dPlayerID.value = value
	
	var __nRankType: PBField
	func get_nRankType() -> int:
		return __nRankType.value
	func clear_nRankType() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__nRankType.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nRankType(value : int) -> void:
		__nRankType.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S2CE_RefreshRank:

	static var proto_name = "S2CE_RefreshRank" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nOptr = PBField.new("nOptr", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nOptr
		data[__nOptr.tag] = service
		
	var data = {}
	
	var __nOptr: PBField
	func get_nOptr() -> int:
		return __nOptr.value
	func clear_nOptr() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nOptr.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nOptr(value : int) -> void:
		__nOptr.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S2CE_InsertOrUpdateRankData:

	static var proto_name = "S2CE_InsertOrUpdateRankData" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__RankType = PBField.new("RankType", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __RankType
		data[__RankType.tag] = service
		
		__CharID = PBField.new("CharID", PB_DATA_TYPE.DOUBLE, PB_RULE.REQUIRED, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __CharID
		data[__CharID.tag] = service
		
		__CharName = PBField.new("CharName", PB_DATA_TYPE.STRING, PB_RULE.REQUIRED, 3, false, DEFAULT_VALUES_2[PB_DATA_TYPE.STRING])
		service = PBServiceField.new()
		service.field = __CharName
		data[__CharName.tag] = service
		
		__BaseData1 = PBField.new("BaseData1", PB_DATA_TYPE.DOUBLE, PB_RULE.OPTIONAL, 4, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __BaseData1
		data[__BaseData1.tag] = service
		
		__BaseData2 = PBField.new("BaseData2", PB_DATA_TYPE.DOUBLE, PB_RULE.OPTIONAL, 5, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __BaseData2
		data[__BaseData2.tag] = service
		
		__Key1 = PBField.new("Key1", PB_DATA_TYPE.DOUBLE, PB_RULE.REQUIRED, 6, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __Key1
		data[__Key1.tag] = service
		
		__Key2 = PBField.new("Key2", PB_DATA_TYPE.DOUBLE, PB_RULE.OPTIONAL, 7, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __Key2
		data[__Key2.tag] = service
		
		__Key3 = PBField.new("Key3", PB_DATA_TYPE.DOUBLE, PB_RULE.OPTIONAL, 8, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __Key3
		data[__Key3.tag] = service
		
		__Key4 = PBField.new("Key4", PB_DATA_TYPE.DOUBLE, PB_RULE.OPTIONAL, 9, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __Key4
		data[__Key4.tag] = service
		
		__Key5 = PBField.new("Key5", PB_DATA_TYPE.DOUBLE, PB_RULE.OPTIONAL, 10, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __Key5
		data[__Key5.tag] = service
		
		__Key6 = PBField.new("Key6", PB_DATA_TYPE.DOUBLE, PB_RULE.OPTIONAL, 11, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __Key6
		data[__Key6.tag] = service
		
	var data = {}
	
	var __RankType: PBField
	func get_RankType() -> int:
		return __RankType.value
	func clear_RankType() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__RankType.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_RankType(value : int) -> void:
		__RankType.value = value
	
	var __CharID: PBField
	func get_CharID() -> float:
		return __CharID.value
	func clear_CharID() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__CharID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_CharID(value : float) -> void:
		__CharID.value = value
	
	var __CharName: PBField
	func get_CharName() -> String:
		return __CharName.value
	func clear_CharName() -> void:
		data[3].state = PB_SERVICE_STATE.UNFILLED
		__CharName.value = DEFAULT_VALUES_2[PB_DATA_TYPE.STRING]
	func set_CharName(value : String) -> void:
		__CharName.value = value
	
	var __BaseData1: PBField
	func has_BaseData1() -> bool:
		if __BaseData1.value != null:
			return true
		return false
	func get_BaseData1() -> float:
		return __BaseData1.value
	func clear_BaseData1() -> void:
		data[4].state = PB_SERVICE_STATE.UNFILLED
		__BaseData1.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_BaseData1(value : float) -> void:
		__BaseData1.value = value
	
	var __BaseData2: PBField
	func has_BaseData2() -> bool:
		if __BaseData2.value != null:
			return true
		return false
	func get_BaseData2() -> float:
		return __BaseData2.value
	func clear_BaseData2() -> void:
		data[5].state = PB_SERVICE_STATE.UNFILLED
		__BaseData2.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_BaseData2(value : float) -> void:
		__BaseData2.value = value
	
	var __Key1: PBField
	func get_Key1() -> float:
		return __Key1.value
	func clear_Key1() -> void:
		data[6].state = PB_SERVICE_STATE.UNFILLED
		__Key1.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_Key1(value : float) -> void:
		__Key1.value = value
	
	var __Key2: PBField
	func has_Key2() -> bool:
		if __Key2.value != null:
			return true
		return false
	func get_Key2() -> float:
		return __Key2.value
	func clear_Key2() -> void:
		data[7].state = PB_SERVICE_STATE.UNFILLED
		__Key2.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_Key2(value : float) -> void:
		__Key2.value = value
	
	var __Key3: PBField
	func has_Key3() -> bool:
		if __Key3.value != null:
			return true
		return false
	func get_Key3() -> float:
		return __Key3.value
	func clear_Key3() -> void:
		data[8].state = PB_SERVICE_STATE.UNFILLED
		__Key3.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_Key3(value : float) -> void:
		__Key3.value = value
	
	var __Key4: PBField
	func has_Key4() -> bool:
		if __Key4.value != null:
			return true
		return false
	func get_Key4() -> float:
		return __Key4.value
	func clear_Key4() -> void:
		data[9].state = PB_SERVICE_STATE.UNFILLED
		__Key4.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_Key4(value : float) -> void:
		__Key4.value = value
	
	var __Key5: PBField
	func has_Key5() -> bool:
		if __Key5.value != null:
			return true
		return false
	func get_Key5() -> float:
		return __Key5.value
	func clear_Key5() -> void:
		data[10].state = PB_SERVICE_STATE.UNFILLED
		__Key5.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_Key5(value : float) -> void:
		__Key5.value = value
	
	var __Key6: PBField
	func has_Key6() -> bool:
		if __Key6.value != null:
			return true
		return false
	func get_Key6() -> float:
		return __Key6.value
	func clear_Key6() -> void:
		data[11].state = PB_SERVICE_STATE.UNFILLED
		__Key6.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_Key6(value : float) -> void:
		__Key6.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S_G2CE_InsertRankPlayerInfo:

	static var proto_name = "S_G2CE_InsertRankPlayerInfo" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__RankType = PBField.new("RankType", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __RankType
		data[__RankType.tag] = service
		
		__CharID = PBField.new("CharID", PB_DATA_TYPE.DOUBLE, PB_RULE.REQUIRED, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __CharID
		data[__CharID.tag] = service
		
		__CharName = PBField.new("CharName", PB_DATA_TYPE.STRING, PB_RULE.REQUIRED, 3, false, DEFAULT_VALUES_2[PB_DATA_TYPE.STRING])
		service = PBServiceField.new()
		service.field = __CharName
		data[__CharName.tag] = service
		
		__CurClassID = PBField.new("CurClassID", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 4, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __CurClassID
		data[__CurClassID.tag] = service
		
		__WeaponID = PBField.new("WeaponID", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 5, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __WeaponID
		data[__WeaponID.tag] = service
		
		var __ItemIDs_default: Array[int] = []
		__ItemIDs = PBField.new("ItemIDs", PB_DATA_TYPE.INT32, PB_RULE.REPEATED, 6, false, __ItemIDs_default)
		service = PBServiceField.new()
		service.field = __ItemIDs
		data[__ItemIDs.tag] = service
		
	var data = {}
	
	var __RankType: PBField
	func get_RankType() -> int:
		return __RankType.value
	func clear_RankType() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__RankType.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_RankType(value : int) -> void:
		__RankType.value = value
	
	var __CharID: PBField
	func get_CharID() -> float:
		return __CharID.value
	func clear_CharID() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__CharID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_CharID(value : float) -> void:
		__CharID.value = value
	
	var __CharName: PBField
	func get_CharName() -> String:
		return __CharName.value
	func clear_CharName() -> void:
		data[3].state = PB_SERVICE_STATE.UNFILLED
		__CharName.value = DEFAULT_VALUES_2[PB_DATA_TYPE.STRING]
	func set_CharName(value : String) -> void:
		__CharName.value = value
	
	var __CurClassID: PBField
	func get_CurClassID() -> int:
		return __CurClassID.value
	func clear_CurClassID() -> void:
		data[4].state = PB_SERVICE_STATE.UNFILLED
		__CurClassID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_CurClassID(value : int) -> void:
		__CurClassID.value = value
	
	var __WeaponID: PBField
	func get_WeaponID() -> int:
		return __WeaponID.value
	func clear_WeaponID() -> void:
		data[5].state = PB_SERVICE_STATE.UNFILLED
		__WeaponID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_WeaponID(value : int) -> void:
		__WeaponID.value = value
	
	var __ItemIDs: PBField
	func get_ItemIDs() -> Array[int]:
		return __ItemIDs.value
	func clear_ItemIDs() -> void:
		data[6].state = PB_SERVICE_STATE.UNFILLED
		__ItemIDs.value.clear()
	func add_ItemIDs(value : int) -> void:
		__ItemIDs.value.append(value)
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S_CE2G_BroadcastRankSettlement:

	static var proto_name = "S_CE2G_BroadcastRankSettlement" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__RankType = PBField.new("RankType", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __RankType
		data[__RankType.tag] = service
		
	var data = {}
	
	var __RankType: PBField
	func get_RankType() -> int:
		return __RankType.value
	func clear_RankType() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__RankType.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_RankType(value : int) -> void:
		__RankType.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class C2S_SevenDayLoginGetReward:

	static var proto_name = "C2S_SevenDayLoginGetReward" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nDay = PBField.new("nDay", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nDay
		data[__nDay.tag] = service
		
	var data = {}
	
	var __nDay: PBField
	func get_nDay() -> int:
		return __nDay.value
	func clear_nDay() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nDay.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nDay(value : int) -> void:
		__nDay.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S2C_SevenDayLoginGetReward:

	static var proto_name = "S2C_SevenDayLoginGetReward" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nRetCode = PBField.new("nRetCode", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nRetCode
		data[__nRetCode.tag] = service
		
	var data = {}
	
	var __nRetCode: PBField
	func get_nRetCode() -> int:
		return __nRetCode.value
	func clear_nRetCode() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nRetCode.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nRetCode(value : int) -> void:
		__nRetCode.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class C2S_SevenDayTaskGetReward:

	static var proto_name = "C2S_SevenDayTaskGetReward" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nDay = PBField.new("nDay", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nDay
		data[__nDay.tag] = service
		
	var data = {}
	
	var __nDay: PBField
	func get_nDay() -> int:
		return __nDay.value
	func clear_nDay() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nDay.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nDay(value : int) -> void:
		__nDay.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S2C_SevenDayTaskGetReward:

	static var proto_name = "S2C_SevenDayTaskGetReward" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nRetCode = PBField.new("nRetCode", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nRetCode
		data[__nRetCode.tag] = service
		
	var data = {}
	
	var __nRetCode: PBField
	func get_nRetCode() -> int:
		return __nRetCode.value
	func clear_nRetCode() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nRetCode.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nRetCode(value : int) -> void:
		__nRetCode.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S2C_LootItem:

	static var proto_name = "S2C_LootItem" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nLootID = PBField.new("nLootID", PB_DATA_TYPE.INT32, PB_RULE.OPTIONAL, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nLootID
		data[__nLootID.tag] = service
		
		__nItemID = PBField.new("nItemID", PB_DATA_TYPE.INT32, PB_RULE.OPTIONAL, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nItemID
		data[__nItemID.tag] = service
		
		__nCount = PBField.new("nCount", PB_DATA_TYPE.INT32, PB_RULE.OPTIONAL, 3, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nCount
		data[__nCount.tag] = service
		
		__dx = PBField.new("dx", PB_DATA_TYPE.DOUBLE, PB_RULE.OPTIONAL, 4, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __dx
		data[__dx.tag] = service
		
		__dy = PBField.new("dy", PB_DATA_TYPE.DOUBLE, PB_RULE.OPTIONAL, 5, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __dy
		data[__dy.tag] = service
		
		__dBeginX = PBField.new("dBeginX", PB_DATA_TYPE.DOUBLE, PB_RULE.OPTIONAL, 6, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __dBeginX
		data[__dBeginX.tag] = service
		
		__dBeginY = PBField.new("dBeginY", PB_DATA_TYPE.DOUBLE, PB_RULE.OPTIONAL, 7, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __dBeginY
		data[__dBeginY.tag] = service
		
		__nCreateTime = PBField.new("nCreateTime", PB_DATA_TYPE.INT32, PB_RULE.OPTIONAL, 8, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nCreateTime
		data[__nCreateTime.tag] = service
		
	var data = {}
	
	var __nLootID: PBField
	func has_nLootID() -> bool:
		if __nLootID.value != null:
			return true
		return false
	func get_nLootID() -> int:
		return __nLootID.value
	func clear_nLootID() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nLootID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nLootID(value : int) -> void:
		__nLootID.value = value
	
	var __nItemID: PBField
	func has_nItemID() -> bool:
		if __nItemID.value != null:
			return true
		return false
	func get_nItemID() -> int:
		return __nItemID.value
	func clear_nItemID() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__nItemID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nItemID(value : int) -> void:
		__nItemID.value = value
	
	var __nCount: PBField
	func has_nCount() -> bool:
		if __nCount.value != null:
			return true
		return false
	func get_nCount() -> int:
		return __nCount.value
	func clear_nCount() -> void:
		data[3].state = PB_SERVICE_STATE.UNFILLED
		__nCount.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nCount(value : int) -> void:
		__nCount.value = value
	
	var __dx: PBField
	func has_dx() -> bool:
		if __dx.value != null:
			return true
		return false
	func get_dx() -> float:
		return __dx.value
	func clear_dx() -> void:
		data[4].state = PB_SERVICE_STATE.UNFILLED
		__dx.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_dx(value : float) -> void:
		__dx.value = value
	
	var __dy: PBField
	func has_dy() -> bool:
		if __dy.value != null:
			return true
		return false
	func get_dy() -> float:
		return __dy.value
	func clear_dy() -> void:
		data[5].state = PB_SERVICE_STATE.UNFILLED
		__dy.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_dy(value : float) -> void:
		__dy.value = value
	
	var __dBeginX: PBField
	func has_dBeginX() -> bool:
		if __dBeginX.value != null:
			return true
		return false
	func get_dBeginX() -> float:
		return __dBeginX.value
	func clear_dBeginX() -> void:
		data[6].state = PB_SERVICE_STATE.UNFILLED
		__dBeginX.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_dBeginX(value : float) -> void:
		__dBeginX.value = value
	
	var __dBeginY: PBField
	func has_dBeginY() -> bool:
		if __dBeginY.value != null:
			return true
		return false
	func get_dBeginY() -> float:
		return __dBeginY.value
	func clear_dBeginY() -> void:
		data[7].state = PB_SERVICE_STATE.UNFILLED
		__dBeginY.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_dBeginY(value : float) -> void:
		__dBeginY.value = value
	
	var __nCreateTime: PBField
	func has_nCreateTime() -> bool:
		if __nCreateTime.value != null:
			return true
		return false
	func get_nCreateTime() -> int:
		return __nCreateTime.value
	func clear_nCreateTime() -> void:
		data[8].state = PB_SERVICE_STATE.UNFILLED
		__nCreateTime.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nCreateTime(value : int) -> void:
		__nCreateTime.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S2C_LootTimeOut:

	static var proto_name = "S2C_LootTimeOut" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nLootID = PBField.new("nLootID", PB_DATA_TYPE.INT32, PB_RULE.OPTIONAL, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nLootID
		data[__nLootID.tag] = service
		
	var data = {}
	
	var __nLootID: PBField
	func has_nLootID() -> bool:
		if __nLootID.value != null:
			return true
		return false
	func get_nLootID() -> int:
		return __nLootID.value
	func clear_nLootID() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nLootID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nLootID(value : int) -> void:
		__nLootID.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class C2S_LootTimeOut:

	static var proto_name = "C2S_LootTimeOut" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nLootID = PBField.new("nLootID", PB_DATA_TYPE.INT32, PB_RULE.OPTIONAL, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nLootID
		data[__nLootID.tag] = service
		
	var data = {}
	
	var __nLootID: PBField
	func has_nLootID() -> bool:
		if __nLootID.value != null:
			return true
		return false
	func get_nLootID() -> int:
		return __nLootID.value
	func clear_nLootID() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nLootID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nLootID(value : int) -> void:
		__nLootID.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class C2S_PickUpLoot:

	static var proto_name = "C2S_PickUpLoot" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nLootID = PBField.new("nLootID", PB_DATA_TYPE.INT32, PB_RULE.OPTIONAL, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nLootID
		data[__nLootID.tag] = service
		
	var data = {}
	
	var __nLootID: PBField
	func has_nLootID() -> bool:
		if __nLootID.value != null:
			return true
		return false
	func get_nLootID() -> int:
		return __nLootID.value
	func clear_nLootID() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nLootID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nLootID(value : int) -> void:
		__nLootID.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S2C_LootPickUp:

	static var proto_name = "S2C_LootPickUp" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nLootID = PBField.new("nLootID", PB_DATA_TYPE.INT32, PB_RULE.OPTIONAL, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nLootID
		data[__nLootID.tag] = service
		
		__bPickupFail = PBField.new("bPickupFail", PB_DATA_TYPE.BOOL, PB_RULE.OPTIONAL, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.BOOL])
		service = PBServiceField.new()
		service.field = __bPickupFail
		data[__bPickupFail.tag] = service
		
	var data = {}
	
	var __nLootID: PBField
	func has_nLootID() -> bool:
		if __nLootID.value != null:
			return true
		return false
	func get_nLootID() -> int:
		return __nLootID.value
	func clear_nLootID() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nLootID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nLootID(value : int) -> void:
		__nLootID.value = value
	
	var __bPickupFail: PBField
	func has_bPickupFail() -> bool:
		if __bPickupFail.value != null:
			return true
		return false
	func get_bPickupFail() -> bool:
		return __bPickupFail.value
	func clear_bPickupFail() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__bPickupFail.value = DEFAULT_VALUES_2[PB_DATA_TYPE.BOOL]
	func set_bPickupFail(value : bool) -> void:
		__bPickupFail.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class C2S_LootLog:

	static var proto_name = "C2S_LootLog" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__log = PBField.new("log", PB_DATA_TYPE.STRING, PB_RULE.OPTIONAL, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.STRING])
		service = PBServiceField.new()
		service.field = __log
		data[__log.tag] = service
		
	var data = {}
	
	var __log: PBField
	func has_log() -> bool:
		if __log.value != null:
			return true
		return false
	func get_log() -> String:
		return __log.value
	func clear_log() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__log.value = DEFAULT_VALUES_2[PB_DATA_TYPE.STRING]
	func set_log(value : String) -> void:
		__log.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S2C_GainExp:

	static var proto_name = "S2C_GainExp" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nExp = PBField.new("nExp", PB_DATA_TYPE.INT32, PB_RULE.OPTIONAL, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nExp
		data[__nExp.tag] = service
		
	var data = {}
	
	var __nExp: PBField
	func has_nExp() -> bool:
		if __nExp.value != null:
			return true
		return false
	func get_nExp() -> int:
		return __nExp.value
	func clear_nExp() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nExp.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nExp(value : int) -> void:
		__nExp.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class C2S_FieldExplorer:

	static var proto_name = "C2S_FieldExplorer" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nLocation = PBField.new("nLocation", PB_DATA_TYPE.INT32, PB_RULE.OPTIONAL, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nLocation
		data[__nLocation.tag] = service
		
	var data = {}
	
	var __nLocation: PBField
	func has_nLocation() -> bool:
		if __nLocation.value != null:
			return true
		return false
	func get_nLocation() -> int:
		return __nLocation.value
	func clear_nLocation() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nLocation.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nLocation(value : int) -> void:
		__nLocation.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S2C_FieldExplorer:

	static var proto_name = "S2C_FieldExplorer" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nLocation = PBField.new("nLocation", PB_DATA_TYPE.INT32, PB_RULE.OPTIONAL, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nLocation
		data[__nLocation.tag] = service
		
	var data = {}
	
	var __nLocation: PBField
	func has_nLocation() -> bool:
		if __nLocation.value != null:
			return true
		return false
	func get_nLocation() -> int:
		return __nLocation.value
	func clear_nLocation() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nLocation.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nLocation(value : int) -> void:
		__nLocation.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class C2S_SwitchScene:

	static var proto_name = "C2S_SwitchScene" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nSceneID = PBField.new("nSceneID", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nSceneID
		data[__nSceneID.tag] = service
		
		__nPosX = PBField.new("nPosX", PB_DATA_TYPE.INT32, PB_RULE.OPTIONAL, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nPosX
		data[__nPosX.tag] = service
		
		__nPosY = PBField.new("nPosY", PB_DATA_TYPE.INT32, PB_RULE.OPTIONAL, 3, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nPosY
		data[__nPosY.tag] = service
		
	var data = {}
	
	var __nSceneID: PBField
	func get_nSceneID() -> int:
		return __nSceneID.value
	func clear_nSceneID() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nSceneID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nSceneID(value : int) -> void:
		__nSceneID.value = value
	
	var __nPosX: PBField
	func has_nPosX() -> bool:
		if __nPosX.value != null:
			return true
		return false
	func get_nPosX() -> int:
		return __nPosX.value
	func clear_nPosX() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__nPosX.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nPosX(value : int) -> void:
		__nPosX.value = value
	
	var __nPosY: PBField
	func has_nPosY() -> bool:
		if __nPosY.value != null:
			return true
		return false
	func get_nPosY() -> int:
		return __nPosY.value
	func clear_nPosY() -> void:
		data[3].state = PB_SERVICE_STATE.UNFILLED
		__nPosY.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nPosY(value : int) -> void:
		__nPosY.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class C2S_DungeonPortal:

	static var proto_name = "C2S_DungeonPortal" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nPortalId = PBField.new("nPortalId", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nPortalId
		data[__nPortalId.tag] = service
		
	var data = {}
	
	var __nPortalId: PBField
	func get_nPortalId() -> int:
		return __nPortalId.value
	func clear_nPortalId() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nPortalId.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nPortalId(value : int) -> void:
		__nPortalId.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S2C_DungeonPortal:

	static var proto_name = "S2C_DungeonPortal" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nRoomId = PBField.new("nRoomId", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nRoomId
		data[__nRoomId.tag] = service
		
	var data = {}
	
	var __nRoomId: PBField
	func get_nRoomId() -> int:
		return __nRoomId.value
	func clear_nRoomId() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nRoomId.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nRoomId(value : int) -> void:
		__nRoomId.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class SceneTriggerSubProgress:

	static var proto_name = "SceneTriggerSubProgress" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nCondIndex = PBField.new("nCondIndex", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nCondIndex
		data[__nCondIndex.tag] = service
		
		__nProgress = PBField.new("nProgress", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nProgress
		data[__nProgress.tag] = service
		
	var data = {}
	
	var __nCondIndex: PBField
	func get_nCondIndex() -> int:
		return __nCondIndex.value
	func clear_nCondIndex() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nCondIndex.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nCondIndex(value : int) -> void:
		__nCondIndex.value = value
	
	var __nProgress: PBField
	func get_nProgress() -> int:
		return __nProgress.value
	func clear_nProgress() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__nProgress.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nProgress(value : int) -> void:
		__nProgress.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class SceneTriggerProgress:

	static var proto_name = "SceneTriggerProgress" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nLocalId = PBField.new("nLocalId", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nLocalId
		data[__nLocalId.tag] = service
		
		var __SubProgress_default: Array[SceneTriggerSubProgress] = []
		__SubProgress = PBField.new("SubProgress", PB_DATA_TYPE.MESSAGE, PB_RULE.REPEATED, 2, false, __SubProgress_default)
		service = PBServiceField.new()
		service.field = __SubProgress
		service.func_ref = Callable(self, "add_SubProgress")
		data[__SubProgress.tag] = service
		
		__CountdownEndTime = PBField.new("CountdownEndTime", PB_DATA_TYPE.INT64, PB_RULE.OPTIONAL, 3, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT64])
		service = PBServiceField.new()
		service.field = __CountdownEndTime
		data[__CountdownEndTime.tag] = service
		
	var data = {}
	
	var __nLocalId: PBField
	func get_nLocalId() -> int:
		return __nLocalId.value
	func clear_nLocalId() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nLocalId.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nLocalId(value : int) -> void:
		__nLocalId.value = value
	
	var __SubProgress: PBField
	func get_SubProgress() -> Array[SceneTriggerSubProgress]:
		return __SubProgress.value
	func clear_SubProgress() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__SubProgress.value.clear()
	func add_SubProgress() -> SceneTriggerSubProgress:
		var element = SceneTriggerSubProgress.new()
		__SubProgress.value.append(element)
		return element
	
	var __CountdownEndTime: PBField
	func has_CountdownEndTime() -> bool:
		if __CountdownEndTime.value != null:
			return true
		return false
	func get_CountdownEndTime() -> int:
		return __CountdownEndTime.value
	func clear_CountdownEndTime() -> void:
		data[3].state = PB_SERVICE_STATE.UNFILLED
		__CountdownEndTime.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT64]
	func set_CountdownEndTime(value : int) -> void:
		__CountdownEndTime.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S2C_SceneTriggerState:

	static var proto_name = "S2C_SceneTriggerState" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		var __nLocalIds_default: Array[int] = []
		__nLocalIds = PBField.new("nLocalIds", PB_DATA_TYPE.INT32, PB_RULE.REPEATED, 1, false, __nLocalIds_default)
		service = PBServiceField.new()
		service.field = __nLocalIds
		data[__nLocalIds.tag] = service
		
		__nState = PBField.new("nState", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nState
		data[__nState.tag] = service
		
		var __CountdownEndTime_default: Array[int] = []
		__CountdownEndTime = PBField.new("CountdownEndTime", PB_DATA_TYPE.INT64, PB_RULE.REPEATED, 3, false, __CountdownEndTime_default)
		service = PBServiceField.new()
		service.field = __CountdownEndTime
		data[__CountdownEndTime.tag] = service
		
	var data = {}
	
	var __nLocalIds: PBField
	func get_nLocalIds() -> Array[int]:
		return __nLocalIds.value
	func clear_nLocalIds() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nLocalIds.value.clear()
	func add_nLocalIds(value : int) -> void:
		__nLocalIds.value.append(value)
	
	var __nState: PBField
	func get_nState() -> int:
		return __nState.value
	func clear_nState() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__nState.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nState(value : int) -> void:
		__nState.value = value
	
	var __CountdownEndTime: PBField
	func get_CountdownEndTime() -> Array[int]:
		return __CountdownEndTime.value
	func clear_CountdownEndTime() -> void:
		data[3].state = PB_SERVICE_STATE.UNFILLED
		__CountdownEndTime.value.clear()
	func add_CountdownEndTime(value : int) -> void:
		__CountdownEndTime.value.append(value)
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S2C_SceneTriggerCountdown:

	static var proto_name = "S2C_SceneTriggerCountdown" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nLocalId = PBField.new("nLocalId", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nLocalId
		data[__nLocalId.tag] = service
		
		__nEndTime = PBField.new("nEndTime", PB_DATA_TYPE.INT64, PB_RULE.OPTIONAL, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT64])
		service = PBServiceField.new()
		service.field = __nEndTime
		data[__nEndTime.tag] = service
		
		__nAddTime = PBField.new("nAddTime", PB_DATA_TYPE.INT32, PB_RULE.OPTIONAL, 3, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nAddTime
		data[__nAddTime.tag] = service
		
	var data = {}
	
	var __nLocalId: PBField
	func get_nLocalId() -> int:
		return __nLocalId.value
	func clear_nLocalId() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nLocalId.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nLocalId(value : int) -> void:
		__nLocalId.value = value
	
	var __nEndTime: PBField
	func has_nEndTime() -> bool:
		if __nEndTime.value != null:
			return true
		return false
	func get_nEndTime() -> int:
		return __nEndTime.value
	func clear_nEndTime() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__nEndTime.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT64]
	func set_nEndTime(value : int) -> void:
		__nEndTime.value = value
	
	var __nAddTime: PBField
	func has_nAddTime() -> bool:
		if __nAddTime.value != null:
			return true
		return false
	func get_nAddTime() -> int:
		return __nAddTime.value
	func clear_nAddTime() -> void:
		data[3].state = PB_SERVICE_STATE.UNFILLED
		__nAddTime.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nAddTime(value : int) -> void:
		__nAddTime.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S2C_OnMonsterDie:

	static var proto_name = "S2C_OnMonsterDie" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nMonsterID = PBField.new("nMonsterID", PB_DATA_TYPE.INT32, PB_RULE.OPTIONAL, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nMonsterID
		data[__nMonsterID.tag] = service
		
		__nPosX = PBField.new("nPosX", PB_DATA_TYPE.DOUBLE, PB_RULE.OPTIONAL, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __nPosX
		data[__nPosX.tag] = service
		
		__nPosY = PBField.new("nPosY", PB_DATA_TYPE.DOUBLE, PB_RULE.OPTIONAL, 3, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __nPosY
		data[__nPosY.tag] = service
		
	var data = {}
	
	var __nMonsterID: PBField
	func has_nMonsterID() -> bool:
		if __nMonsterID.value != null:
			return true
		return false
	func get_nMonsterID() -> int:
		return __nMonsterID.value
	func clear_nMonsterID() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nMonsterID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nMonsterID(value : int) -> void:
		__nMonsterID.value = value
	
	var __nPosX: PBField
	func has_nPosX() -> bool:
		if __nPosX.value != null:
			return true
		return false
	func get_nPosX() -> float:
		return __nPosX.value
	func clear_nPosX() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__nPosX.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_nPosX(value : float) -> void:
		__nPosX.value = value
	
	var __nPosY: PBField
	func has_nPosY() -> bool:
		if __nPosY.value != null:
			return true
		return false
	func get_nPosY() -> float:
		return __nPosY.value
	func clear_nPosY() -> void:
		data[3].state = PB_SERVICE_STATE.UNFILLED
		__nPosY.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_nPosY(value : float) -> void:
		__nPosY.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S2C_NotifySkillCD:

	static var proto_name = "S2C_NotifySkillCD" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nSkillID = PBField.new("nSkillID", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nSkillID
		data[__nSkillID.tag] = service
		
		__nCurTime = PBField.new("nCurTime", PB_DATA_TYPE.INT64, PB_RULE.REQUIRED, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT64])
		service = PBServiceField.new()
		service.field = __nCurTime
		data[__nCurTime.tag] = service
		
		__nCD = PBField.new("nCD", PB_DATA_TYPE.INT32, PB_RULE.OPTIONAL, 3, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nCD
		data[__nCD.tag] = service
		
		__nCommonCD = PBField.new("nCommonCD", PB_DATA_TYPE.INT32, PB_RULE.OPTIONAL, 4, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nCommonCD
		data[__nCommonCD.tag] = service
		
	var data = {}
	
	var __nSkillID: PBField
	func get_nSkillID() -> int:
		return __nSkillID.value
	func clear_nSkillID() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nSkillID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nSkillID(value : int) -> void:
		__nSkillID.value = value
	
	var __nCurTime: PBField
	func get_nCurTime() -> int:
		return __nCurTime.value
	func clear_nCurTime() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__nCurTime.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT64]
	func set_nCurTime(value : int) -> void:
		__nCurTime.value = value
	
	var __nCD: PBField
	func has_nCD() -> bool:
		if __nCD.value != null:
			return true
		return false
	func get_nCD() -> int:
		return __nCD.value
	func clear_nCD() -> void:
		data[3].state = PB_SERVICE_STATE.UNFILLED
		__nCD.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nCD(value : int) -> void:
		__nCD.value = value
	
	var __nCommonCD: PBField
	func has_nCommonCD() -> bool:
		if __nCommonCD.value != null:
			return true
		return false
	func get_nCommonCD() -> int:
		return __nCommonCD.value
	func clear_nCommonCD() -> void:
		data[4].state = PB_SERVICE_STATE.UNFILLED
		__nCommonCD.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nCommonCD(value : int) -> void:
		__nCommonCD.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S2C_NotifySkillBullet:

	static var proto_name = "S2C_NotifySkillBullet" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nSkillID = PBField.new("nSkillID", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nSkillID
		data[__nSkillID.tag] = service
		
		__nStartTime = PBField.new("nStartTime", PB_DATA_TYPE.INT64, PB_RULE.REQUIRED, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT64])
		service = PBServiceField.new()
		service.field = __nStartTime
		data[__nStartTime.tag] = service
		
	var data = {}
	
	var __nSkillID: PBField
	func get_nSkillID() -> int:
		return __nSkillID.value
	func clear_nSkillID() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nSkillID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nSkillID(value : int) -> void:
		__nSkillID.value = value
	
	var __nStartTime: PBField
	func get_nStartTime() -> int:
		return __nStartTime.value
	func clear_nStartTime() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__nStartTime.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT64]
	func set_nStartTime(value : int) -> void:
		__nStartTime.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class C2S_OpenTransPoint:

	static var proto_name = "C2S_OpenTransPoint" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nTransPointID = PBField.new("nTransPointID", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nTransPointID
		data[__nTransPointID.tag] = service
		
	var data = {}
	
	var __nTransPointID: PBField
	func get_nTransPointID() -> int:
		return __nTransPointID.value
	func clear_nTransPointID() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nTransPointID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nTransPointID(value : int) -> void:
		__nTransPointID.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class C2S_UseTransPoint:

	static var proto_name = "C2S_UseTransPoint" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nTransPointID = PBField.new("nTransPointID", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nTransPointID
		data[__nTransPointID.tag] = service
		
	var data = {}
	
	var __nTransPointID: PBField
	func get_nTransPointID() -> int:
		return __nTransPointID.value
	func clear_nTransPointID() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nTransPointID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nTransPointID(value : int) -> void:
		__nTransPointID.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class C2S_GetStrongHoldInfo:

	static var proto_name = "C2S_GetStrongHoldInfo" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nVersion = PBField.new("nVersion", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nVersion
		data[__nVersion.tag] = service
		
	var data = {}
	
	var __nVersion: PBField
	func get_nVersion() -> int:
		return __nVersion.value
	func clear_nVersion() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nVersion.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nVersion(value : int) -> void:
		__nVersion.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class StrongHoldInfo:

	static var proto_name = "StrongHoldInfo" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nDataVersion = PBField.new("nDataVersion", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nDataVersion
		data[__nDataVersion.tag] = service
		
		__nAreaID = PBField.new("nAreaID", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nAreaID
		data[__nAreaID.tag] = service
		
		__holdBossID = PBField.new("holdBossID", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 3, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __holdBossID
		data[__holdBossID.tag] = service
		
		__holdBossCreateTime = PBField.new("holdBossCreateTime", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 4, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __holdBossCreateTime
		data[__holdBossCreateTime.tag] = service
		
		__areaBossID = PBField.new("areaBossID", PB_DATA_TYPE.INT32, PB_RULE.OPTIONAL, 5, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __areaBossID
		data[__areaBossID.tag] = service
		
	var data = {}
	
	var __nDataVersion: PBField
	func get_nDataVersion() -> int:
		return __nDataVersion.value
	func clear_nDataVersion() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nDataVersion.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nDataVersion(value : int) -> void:
		__nDataVersion.value = value
	
	var __nAreaID: PBField
	func get_nAreaID() -> int:
		return __nAreaID.value
	func clear_nAreaID() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__nAreaID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nAreaID(value : int) -> void:
		__nAreaID.value = value
	
	var __holdBossID: PBField
	func get_holdBossID() -> int:
		return __holdBossID.value
	func clear_holdBossID() -> void:
		data[3].state = PB_SERVICE_STATE.UNFILLED
		__holdBossID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_holdBossID(value : int) -> void:
		__holdBossID.value = value
	
	var __holdBossCreateTime: PBField
	func get_holdBossCreateTime() -> int:
		return __holdBossCreateTime.value
	func clear_holdBossCreateTime() -> void:
		data[4].state = PB_SERVICE_STATE.UNFILLED
		__holdBossCreateTime.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_holdBossCreateTime(value : int) -> void:
		__holdBossCreateTime.value = value
	
	var __areaBossID: PBField
	func has_areaBossID() -> bool:
		if __areaBossID.value != null:
			return true
		return false
	func get_areaBossID() -> int:
		return __areaBossID.value
	func clear_areaBossID() -> void:
		data[5].state = PB_SERVICE_STATE.UNFILLED
		__areaBossID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_areaBossID(value : int) -> void:
		__areaBossID.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S2C_SetStrongHoldInfo:

	static var proto_name = "S2C_SetStrongHoldInfo" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nSceneUUID = PBField.new("nSceneUUID", PB_DATA_TYPE.INT64, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT64])
		service = PBServiceField.new()
		service.field = __nSceneUUID
		data[__nSceneUUID.tag] = service
		
		__nVersion = PBField.new("nVersion", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nVersion
		data[__nVersion.tag] = service
		
		var __holdBossInfo_default: Array[StrongHoldInfo] = []
		__holdBossInfo = PBField.new("holdBossInfo", PB_DATA_TYPE.MESSAGE, PB_RULE.REPEATED, 3, false, __holdBossInfo_default)
		service = PBServiceField.new()
		service.field = __holdBossInfo
		service.func_ref = Callable(self, "add_holdBossInfo")
		data[__holdBossInfo.tag] = service
		
	var data = {}
	
	var __nSceneUUID: PBField
	func get_nSceneUUID() -> int:
		return __nSceneUUID.value
	func clear_nSceneUUID() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nSceneUUID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT64]
	func set_nSceneUUID(value : int) -> void:
		__nSceneUUID.value = value
	
	var __nVersion: PBField
	func get_nVersion() -> int:
		return __nVersion.value
	func clear_nVersion() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__nVersion.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nVersion(value : int) -> void:
		__nVersion.value = value
	
	var __holdBossInfo: PBField
	func get_holdBossInfo() -> Array[StrongHoldInfo]:
		return __holdBossInfo.value
	func clear_holdBossInfo() -> void:
		data[3].state = PB_SERVICE_STATE.UNFILLED
		__holdBossInfo.value.clear()
	func add_holdBossInfo() -> StrongHoldInfo:
		var element = StrongHoldInfo.new()
		__holdBossInfo.value.append(element)
		return element
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S2C_NpcRuleStateChanged:

	static var proto_name = "S2C_NpcRuleStateChanged" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__LocalId = PBField.new("LocalId", PB_DATA_TYPE.INT64, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT64])
		service = PBServiceField.new()
		service.field = __LocalId
		data[__LocalId.tag] = service
		
		__bRun = PBField.new("bRun", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __bRun
		data[__bRun.tag] = service
		
		__nStartTime = PBField.new("nStartTime", PB_DATA_TYPE.INT32, PB_RULE.OPTIONAL, 3, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nStartTime
		data[__nStartTime.tag] = service
		
	var data = {}
	
	var __LocalId: PBField
	func get_LocalId() -> int:
		return __LocalId.value
	func clear_LocalId() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__LocalId.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT64]
	func set_LocalId(value : int) -> void:
		__LocalId.value = value
	
	var __bRun: PBField
	func get_bRun() -> int:
		return __bRun.value
	func clear_bRun() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__bRun.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_bRun(value : int) -> void:
		__bRun.value = value
	
	var __nStartTime: PBField
	func has_nStartTime() -> bool:
		if __nStartTime.value != null:
			return true
		return false
	func get_nStartTime() -> int:
		return __nStartTime.value
	func clear_nStartTime() -> void:
		data[3].state = PB_SERVICE_STATE.UNFILLED
		__nStartTime.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nStartTime(value : int) -> void:
		__nStartTime.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class RegGameServerPlayer:

	static var proto_name = "RegGameServerPlayer" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__dPlayerID = PBField.new("dPlayerID", PB_DATA_TYPE.DOUBLE, PB_RULE.OPTIONAL, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __dPlayerID
		data[__dPlayerID.tag] = service
		
		__strNickName = PBField.new("strNickName", PB_DATA_TYPE.STRING, PB_RULE.OPTIONAL, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.STRING])
		service = PBServiceField.new()
		service.field = __strNickName
		data[__strNickName.tag] = service
		
	var data = {}
	
	var __dPlayerID: PBField
	func has_dPlayerID() -> bool:
		if __dPlayerID.value != null:
			return true
		return false
	func get_dPlayerID() -> float:
		return __dPlayerID.value
	func clear_dPlayerID() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__dPlayerID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_dPlayerID(value : float) -> void:
		__dPlayerID.value = value
	
	var __strNickName: PBField
	func has_strNickName() -> bool:
		if __strNickName.value != null:
			return true
		return false
	func get_strNickName() -> String:
		return __strNickName.value
	func clear_strNickName() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__strNickName.value = DEFAULT_VALUES_2[PB_DATA_TYPE.STRING]
	func set_strNickName(value : String) -> void:
		__strNickName.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S_G2C_RegistGameServer:

	static var proto_name = "S_G2C_RegistGameServer" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nServerID = PBField.new("nServerID", PB_DATA_TYPE.INT32, PB_RULE.OPTIONAL, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nServerID
		data[__nServerID.tag] = service
		
		__strClientIP = PBField.new("strClientIP", PB_DATA_TYPE.STRING, PB_RULE.OPTIONAL, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.STRING])
		service = PBServiceField.new()
		service.field = __strClientIP
		data[__strClientIP.tag] = service
		
		__nClientPort = PBField.new("nClientPort", PB_DATA_TYPE.INT32, PB_RULE.OPTIONAL, 3, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nClientPort
		data[__nClientPort.tag] = service
		
		__nMaxOnline = PBField.new("nMaxOnline", PB_DATA_TYPE.INT32, PB_RULE.OPTIONAL, 4, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nMaxOnline
		data[__nMaxOnline.tag] = service
		
		var __vecPlayers_default: Array[RegGameServerPlayer] = []
		__vecPlayers = PBField.new("vecPlayers", PB_DATA_TYPE.MESSAGE, PB_RULE.REPEATED, 5, false, __vecPlayers_default)
		service = PBServiceField.new()
		service.field = __vecPlayers
		service.func_ref = Callable(self, "add_vecPlayers")
		data[__vecPlayers.tag] = service
		
		__strServerName = PBField.new("strServerName", PB_DATA_TYPE.STRING, PB_RULE.OPTIONAL, 6, false, DEFAULT_VALUES_2[PB_DATA_TYPE.STRING])
		service = PBServiceField.new()
		service.field = __strServerName
		data[__strServerName.tag] = service
		
	var data = {}
	
	var __nServerID: PBField
	func has_nServerID() -> bool:
		if __nServerID.value != null:
			return true
		return false
	func get_nServerID() -> int:
		return __nServerID.value
	func clear_nServerID() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nServerID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nServerID(value : int) -> void:
		__nServerID.value = value
	
	var __strClientIP: PBField
	func has_strClientIP() -> bool:
		if __strClientIP.value != null:
			return true
		return false
	func get_strClientIP() -> String:
		return __strClientIP.value
	func clear_strClientIP() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__strClientIP.value = DEFAULT_VALUES_2[PB_DATA_TYPE.STRING]
	func set_strClientIP(value : String) -> void:
		__strClientIP.value = value
	
	var __nClientPort: PBField
	func has_nClientPort() -> bool:
		if __nClientPort.value != null:
			return true
		return false
	func get_nClientPort() -> int:
		return __nClientPort.value
	func clear_nClientPort() -> void:
		data[3].state = PB_SERVICE_STATE.UNFILLED
		__nClientPort.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nClientPort(value : int) -> void:
		__nClientPort.value = value
	
	var __nMaxOnline: PBField
	func has_nMaxOnline() -> bool:
		if __nMaxOnline.value != null:
			return true
		return false
	func get_nMaxOnline() -> int:
		return __nMaxOnline.value
	func clear_nMaxOnline() -> void:
		data[4].state = PB_SERVICE_STATE.UNFILLED
		__nMaxOnline.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nMaxOnline(value : int) -> void:
		__nMaxOnline.value = value
	
	var __vecPlayers: PBField
	func get_vecPlayers() -> Array[RegGameServerPlayer]:
		return __vecPlayers.value
	func clear_vecPlayers() -> void:
		data[5].state = PB_SERVICE_STATE.UNFILLED
		__vecPlayers.value.clear()
	func add_vecPlayers() -> RegGameServerPlayer:
		var element = RegGameServerPlayer.new()
		__vecPlayers.value.append(element)
		return element
	
	var __strServerName: PBField
	func has_strServerName() -> bool:
		if __strServerName.value != null:
			return true
		return false
	func get_strServerName() -> String:
		return __strServerName.value
	func clear_strServerName() -> void:
		data[6].state = PB_SERVICE_STATE.UNFILLED
		__strServerName.value = DEFAULT_VALUES_2[PB_DATA_TYPE.STRING]
	func set_strServerName(value : String) -> void:
		__strServerName.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S_G2C_RegistLogin:

	static var proto_name = "S_G2C_RegistLogin" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nServerID = PBField.new("nServerID", PB_DATA_TYPE.INT32, PB_RULE.OPTIONAL, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nServerID
		data[__nServerID.tag] = service
		
		__strServerName = PBField.new("strServerName", PB_DATA_TYPE.STRING, PB_RULE.OPTIONAL, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.STRING])
		service = PBServiceField.new()
		service.field = __strServerName
		data[__strServerName.tag] = service
		
	var data = {}
	
	var __nServerID: PBField
	func has_nServerID() -> bool:
		if __nServerID.value != null:
			return true
		return false
	func get_nServerID() -> int:
		return __nServerID.value
	func clear_nServerID() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nServerID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nServerID(value : int) -> void:
		__nServerID.value = value
	
	var __strServerName: PBField
	func has_strServerName() -> bool:
		if __strServerName.value != null:
			return true
		return false
	func get_strServerName() -> String:
		return __strServerName.value
	func clear_strServerName() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__strServerName.value = DEFAULT_VALUES_2[PB_DATA_TYPE.STRING]
	func set_strServerName(value : String) -> void:
		__strServerName.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S_G2C_UpdateUseRate:

	static var proto_name = "S_G2C_UpdateUseRate" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nServerID = PBField.new("nServerID", PB_DATA_TYPE.INT32, PB_RULE.OPTIONAL, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nServerID
		data[__nServerID.tag] = service
		
		__nUseRate = PBField.new("nUseRate", PB_DATA_TYPE.INT32, PB_RULE.OPTIONAL, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nUseRate
		data[__nUseRate.tag] = service
		
	var data = {}
	
	var __nServerID: PBField
	func has_nServerID() -> bool:
		if __nServerID.value != null:
			return true
		return false
	func get_nServerID() -> int:
		return __nServerID.value
	func clear_nServerID() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nServerID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nServerID(value : int) -> void:
		__nServerID.value = value
	
	var __nUseRate: PBField
	func has_nUseRate() -> bool:
		if __nUseRate.value != null:
			return true
		return false
	func get_nUseRate() -> int:
		return __nUseRate.value
	func clear_nUseRate() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__nUseRate.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nUseRate(value : int) -> void:
		__nUseRate.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S_L2C_QueryGameServer:

	static var proto_name = "S_L2C_QueryGameServer" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__dPlayerID = PBField.new("dPlayerID", PB_DATA_TYPE.DOUBLE, PB_RULE.OPTIONAL, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __dPlayerID
		data[__dPlayerID.tag] = service
		
		__dUserID = PBField.new("dUserID", PB_DATA_TYPE.DOUBLE, PB_RULE.OPTIONAL, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __dUserID
		data[__dUserID.tag] = service
		
		__strNickName = PBField.new("strNickName", PB_DATA_TYPE.STRING, PB_RULE.OPTIONAL, 3, false, DEFAULT_VALUES_2[PB_DATA_TYPE.STRING])
		service = PBServiceField.new()
		service.field = __strNickName
		data[__strNickName.tag] = service
		
		__strIP = PBField.new("strIP", PB_DATA_TYPE.STRING, PB_RULE.OPTIONAL, 4, false, DEFAULT_VALUES_2[PB_DATA_TYPE.STRING])
		service = PBServiceField.new()
		service.field = __strIP
		data[__strIP.tag] = service
		
		__nPort = PBField.new("nPort", PB_DATA_TYPE.INT32, PB_RULE.OPTIONAL, 5, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nPort
		data[__nPort.tag] = service
		
		__strAccountName = PBField.new("strAccountName", PB_DATA_TYPE.STRING, PB_RULE.OPTIONAL, 6, false, DEFAULT_VALUES_2[PB_DATA_TYPE.STRING])
		service = PBServiceField.new()
		service.field = __strAccountName
		data[__strAccountName.tag] = service
		
		__nCurrentID = PBField.new("nCurrentID", PB_DATA_TYPE.INT32, PB_RULE.OPTIONAL, 7, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nCurrentID
		data[__nCurrentID.tag] = service
		
		__strClientIP = PBField.new("strClientIP", PB_DATA_TYPE.STRING, PB_RULE.OPTIONAL, 8, false, DEFAULT_VALUES_2[PB_DATA_TYPE.STRING])
		service = PBServiceField.new()
		service.field = __strClientIP
		data[__strClientIP.tag] = service
		
	var data = {}
	
	var __dPlayerID: PBField
	func has_dPlayerID() -> bool:
		if __dPlayerID.value != null:
			return true
		return false
	func get_dPlayerID() -> float:
		return __dPlayerID.value
	func clear_dPlayerID() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__dPlayerID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_dPlayerID(value : float) -> void:
		__dPlayerID.value = value
	
	var __dUserID: PBField
	func has_dUserID() -> bool:
		if __dUserID.value != null:
			return true
		return false
	func get_dUserID() -> float:
		return __dUserID.value
	func clear_dUserID() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__dUserID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_dUserID(value : float) -> void:
		__dUserID.value = value
	
	var __strNickName: PBField
	func has_strNickName() -> bool:
		if __strNickName.value != null:
			return true
		return false
	func get_strNickName() -> String:
		return __strNickName.value
	func clear_strNickName() -> void:
		data[3].state = PB_SERVICE_STATE.UNFILLED
		__strNickName.value = DEFAULT_VALUES_2[PB_DATA_TYPE.STRING]
	func set_strNickName(value : String) -> void:
		__strNickName.value = value
	
	var __strIP: PBField
	func has_strIP() -> bool:
		if __strIP.value != null:
			return true
		return false
	func get_strIP() -> String:
		return __strIP.value
	func clear_strIP() -> void:
		data[4].state = PB_SERVICE_STATE.UNFILLED
		__strIP.value = DEFAULT_VALUES_2[PB_DATA_TYPE.STRING]
	func set_strIP(value : String) -> void:
		__strIP.value = value
	
	var __nPort: PBField
	func has_nPort() -> bool:
		if __nPort.value != null:
			return true
		return false
	func get_nPort() -> int:
		return __nPort.value
	func clear_nPort() -> void:
		data[5].state = PB_SERVICE_STATE.UNFILLED
		__nPort.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nPort(value : int) -> void:
		__nPort.value = value
	
	var __strAccountName: PBField
	func has_strAccountName() -> bool:
		if __strAccountName.value != null:
			return true
		return false
	func get_strAccountName() -> String:
		return __strAccountName.value
	func clear_strAccountName() -> void:
		data[6].state = PB_SERVICE_STATE.UNFILLED
		__strAccountName.value = DEFAULT_VALUES_2[PB_DATA_TYPE.STRING]
	func set_strAccountName(value : String) -> void:
		__strAccountName.value = value
	
	var __nCurrentID: PBField
	func has_nCurrentID() -> bool:
		if __nCurrentID.value != null:
			return true
		return false
	func get_nCurrentID() -> int:
		return __nCurrentID.value
	func clear_nCurrentID() -> void:
		data[7].state = PB_SERVICE_STATE.UNFILLED
		__nCurrentID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nCurrentID(value : int) -> void:
		__nCurrentID.value = value
	
	var __strClientIP: PBField
	func has_strClientIP() -> bool:
		if __strClientIP.value != null:
			return true
		return false
	func get_strClientIP() -> String:
		return __strClientIP.value
	func clear_strClientIP() -> void:
		data[8].state = PB_SERVICE_STATE.UNFILLED
		__strClientIP.value = DEFAULT_VALUES_2[PB_DATA_TYPE.STRING]
	func set_strClientIP(value : String) -> void:
		__strClientIP.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S_C2L_QueryGameServer:

	static var proto_name = "S_C2L_QueryGameServer" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nRetCode = PBField.new("nRetCode", PB_DATA_TYPE.INT32, PB_RULE.OPTIONAL, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nRetCode
		data[__nRetCode.tag] = service
		
		__dPlayerID = PBField.new("dPlayerID", PB_DATA_TYPE.DOUBLE, PB_RULE.OPTIONAL, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __dPlayerID
		data[__dPlayerID.tag] = service
		
		__nToken = PBField.new("nToken", PB_DATA_TYPE.INT32, PB_RULE.OPTIONAL, 3, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nToken
		data[__nToken.tag] = service
		
		__strIP = PBField.new("strIP", PB_DATA_TYPE.STRING, PB_RULE.OPTIONAL, 4, false, DEFAULT_VALUES_2[PB_DATA_TYPE.STRING])
		service = PBServiceField.new()
		service.field = __strIP
		data[__strIP.tag] = service
		
		__nPort = PBField.new("nPort", PB_DATA_TYPE.INT32, PB_RULE.OPTIONAL, 5, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nPort
		data[__nPort.tag] = service
		
		__nGameLineID = PBField.new("nGameLineID", PB_DATA_TYPE.INT32, PB_RULE.OPTIONAL, 6, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nGameLineID
		data[__nGameLineID.tag] = service
		
		__nCurrentID = PBField.new("nCurrentID", PB_DATA_TYPE.INT32, PB_RULE.OPTIONAL, 7, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nCurrentID
		data[__nCurrentID.tag] = service
		
	var data = {}
	
	var __nRetCode: PBField
	func has_nRetCode() -> bool:
		if __nRetCode.value != null:
			return true
		return false
	func get_nRetCode() -> int:
		return __nRetCode.value
	func clear_nRetCode() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nRetCode.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nRetCode(value : int) -> void:
		__nRetCode.value = value
	
	var __dPlayerID: PBField
	func has_dPlayerID() -> bool:
		if __dPlayerID.value != null:
			return true
		return false
	func get_dPlayerID() -> float:
		return __dPlayerID.value
	func clear_dPlayerID() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__dPlayerID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_dPlayerID(value : float) -> void:
		__dPlayerID.value = value
	
	var __nToken: PBField
	func has_nToken() -> bool:
		if __nToken.value != null:
			return true
		return false
	func get_nToken() -> int:
		return __nToken.value
	func clear_nToken() -> void:
		data[3].state = PB_SERVICE_STATE.UNFILLED
		__nToken.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nToken(value : int) -> void:
		__nToken.value = value
	
	var __strIP: PBField
	func has_strIP() -> bool:
		if __strIP.value != null:
			return true
		return false
	func get_strIP() -> String:
		return __strIP.value
	func clear_strIP() -> void:
		data[4].state = PB_SERVICE_STATE.UNFILLED
		__strIP.value = DEFAULT_VALUES_2[PB_DATA_TYPE.STRING]
	func set_strIP(value : String) -> void:
		__strIP.value = value
	
	var __nPort: PBField
	func has_nPort() -> bool:
		if __nPort.value != null:
			return true
		return false
	func get_nPort() -> int:
		return __nPort.value
	func clear_nPort() -> void:
		data[5].state = PB_SERVICE_STATE.UNFILLED
		__nPort.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nPort(value : int) -> void:
		__nPort.value = value
	
	var __nGameLineID: PBField
	func has_nGameLineID() -> bool:
		if __nGameLineID.value != null:
			return true
		return false
	func get_nGameLineID() -> int:
		return __nGameLineID.value
	func clear_nGameLineID() -> void:
		data[6].state = PB_SERVICE_STATE.UNFILLED
		__nGameLineID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nGameLineID(value : int) -> void:
		__nGameLineID.value = value
	
	var __nCurrentID: PBField
	func has_nCurrentID() -> bool:
		if __nCurrentID.value != null:
			return true
		return false
	func get_nCurrentID() -> int:
		return __nCurrentID.value
	func clear_nCurrentID() -> void:
		data[7].state = PB_SERVICE_STATE.UNFILLED
		__nCurrentID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nCurrentID(value : int) -> void:
		__nCurrentID.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S_S2S_SendMsgToPlayer:

	static var proto_name = "S_S2S_SendMsgToPlayer" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__msgTarget = PBField.new("msgTarget", PB_DATA_TYPE.MESSAGE, PB_RULE.OPTIONAL, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.MESSAGE])
		service = PBServiceField.new()
		service.field = __msgTarget
		service.func_ref = Callable(self, "new_msgTarget")
		data[__msgTarget.tag] = service
		
		__nMsgID = PBField.new("nMsgID", PB_DATA_TYPE.INT32, PB_RULE.OPTIONAL, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nMsgID
		data[__nMsgID.tag] = service
		
		__msgData = PBField.new("msgData", PB_DATA_TYPE.BYTES, PB_RULE.OPTIONAL, 3, false, DEFAULT_VALUES_2[PB_DATA_TYPE.BYTES])
		service = PBServiceField.new()
		service.field = __msgData
		data[__msgData.tag] = service
		
	var data = {}
	
	var __msgTarget: PBField
	func has_msgTarget() -> bool:
		if __msgTarget.value != null:
			return true
		return false
	func get_msgTarget() -> MsgPlayerId:
		return __msgTarget.value
	func clear_msgTarget() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__msgTarget.value = DEFAULT_VALUES_2[PB_DATA_TYPE.MESSAGE]
	func new_msgTarget() -> MsgPlayerId:
		__msgTarget.value = MsgPlayerId.new()
		return __msgTarget.value
	
	var __nMsgID: PBField
	func has_nMsgID() -> bool:
		if __nMsgID.value != null:
			return true
		return false
	func get_nMsgID() -> int:
		return __nMsgID.value
	func clear_nMsgID() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__nMsgID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nMsgID(value : int) -> void:
		__nMsgID.value = value
	
	var __msgData: PBField
	func has_msgData() -> bool:
		if __msgData.value != null:
			return true
		return false
	func get_msgData() -> PackedByteArray:
		return __msgData.value
	func clear_msgData() -> void:
		data[3].state = PB_SERVICE_STATE.UNFILLED
		__msgData.value = DEFAULT_VALUES_2[PB_DATA_TYPE.BYTES]
	func set_msgData(value : PackedByteArray) -> void:
		__msgData.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S_SyncMsg:

	static var proto_name = "S_SyncMsg" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nSessionID = PBField.new("nSessionID", PB_DATA_TYPE.INT32, PB_RULE.OPTIONAL, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nSessionID
		data[__nSessionID.tag] = service
		
		__nMsgID = PBField.new("nMsgID", PB_DATA_TYPE.INT32, PB_RULE.OPTIONAL, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nMsgID
		data[__nMsgID.tag] = service
		
		__msgData = PBField.new("msgData", PB_DATA_TYPE.BYTES, PB_RULE.OPTIONAL, 3, false, DEFAULT_VALUES_2[PB_DATA_TYPE.BYTES])
		service = PBServiceField.new()
		service.field = __msgData
		data[__msgData.tag] = service
		
	var data = {}
	
	var __nSessionID: PBField
	func has_nSessionID() -> bool:
		if __nSessionID.value != null:
			return true
		return false
	func get_nSessionID() -> int:
		return __nSessionID.value
	func clear_nSessionID() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nSessionID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nSessionID(value : int) -> void:
		__nSessionID.value = value
	
	var __nMsgID: PBField
	func has_nMsgID() -> bool:
		if __nMsgID.value != null:
			return true
		return false
	func get_nMsgID() -> int:
		return __nMsgID.value
	func clear_nMsgID() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__nMsgID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nMsgID(value : int) -> void:
		__nMsgID.value = value
	
	var __msgData: PBField
	func has_msgData() -> bool:
		if __msgData.value != null:
			return true
		return false
	func get_msgData() -> PackedByteArray:
		return __msgData.value
	func clear_msgData() -> void:
		data[3].state = PB_SERVICE_STATE.UNFILLED
		__msgData.value = DEFAULT_VALUES_2[PB_DATA_TYPE.BYTES]
	func set_msgData(value : PackedByteArray) -> void:
		__msgData.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S_SyncMsgRet:

	static var proto_name = "S_SyncMsgRet" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nSessionID = PBField.new("nSessionID", PB_DATA_TYPE.INT32, PB_RULE.OPTIONAL, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nSessionID
		data[__nSessionID.tag] = service
		
		__nMsgID = PBField.new("nMsgID", PB_DATA_TYPE.INT32, PB_RULE.OPTIONAL, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nMsgID
		data[__nMsgID.tag] = service
		
		__msgData = PBField.new("msgData", PB_DATA_TYPE.BYTES, PB_RULE.OPTIONAL, 3, false, DEFAULT_VALUES_2[PB_DATA_TYPE.BYTES])
		service = PBServiceField.new()
		service.field = __msgData
		data[__msgData.tag] = service
		
	var data = {}
	
	var __nSessionID: PBField
	func has_nSessionID() -> bool:
		if __nSessionID.value != null:
			return true
		return false
	func get_nSessionID() -> int:
		return __nSessionID.value
	func clear_nSessionID() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nSessionID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nSessionID(value : int) -> void:
		__nSessionID.value = value
	
	var __nMsgID: PBField
	func has_nMsgID() -> bool:
		if __nMsgID.value != null:
			return true
		return false
	func get_nMsgID() -> int:
		return __nMsgID.value
	func clear_nMsgID() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__nMsgID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nMsgID(value : int) -> void:
		__nMsgID.value = value
	
	var __msgData: PBField
	func has_msgData() -> bool:
		if __msgData.value != null:
			return true
		return false
	func get_msgData() -> PackedByteArray:
		return __msgData.value
	func clear_msgData() -> void:
		data[3].state = PB_SERVICE_STATE.UNFILLED
		__msgData.value = DEFAULT_VALUES_2[PB_DATA_TYPE.BYTES]
	func set_msgData(value : PackedByteArray) -> void:
		__msgData.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S_IPC_Call:

	static var proto_name = "S_IPC_Call" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nSessionID = PBField.new("nSessionID", PB_DATA_TYPE.INT32, PB_RULE.OPTIONAL, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nSessionID
		data[__nSessionID.tag] = service
		
		__sCallFuncName = PBField.new("sCallFuncName", PB_DATA_TYPE.STRING, PB_RULE.OPTIONAL, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.STRING])
		service = PBServiceField.new()
		service.field = __sCallFuncName
		data[__sCallFuncName.tag] = service
		
		__sJsonStr = PBField.new("sJsonStr", PB_DATA_TYPE.STRING, PB_RULE.OPTIONAL, 3, false, DEFAULT_VALUES_2[PB_DATA_TYPE.STRING])
		service = PBServiceField.new()
		service.field = __sJsonStr
		data[__sJsonStr.tag] = service
		
	var data = {}
	
	var __nSessionID: PBField
	func has_nSessionID() -> bool:
		if __nSessionID.value != null:
			return true
		return false
	func get_nSessionID() -> int:
		return __nSessionID.value
	func clear_nSessionID() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nSessionID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nSessionID(value : int) -> void:
		__nSessionID.value = value
	
	var __sCallFuncName: PBField
	func has_sCallFuncName() -> bool:
		if __sCallFuncName.value != null:
			return true
		return false
	func get_sCallFuncName() -> String:
		return __sCallFuncName.value
	func clear_sCallFuncName() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__sCallFuncName.value = DEFAULT_VALUES_2[PB_DATA_TYPE.STRING]
	func set_sCallFuncName(value : String) -> void:
		__sCallFuncName.value = value
	
	var __sJsonStr: PBField
	func has_sJsonStr() -> bool:
		if __sJsonStr.value != null:
			return true
		return false
	func get_sJsonStr() -> String:
		return __sJsonStr.value
	func clear_sJsonStr() -> void:
		data[3].state = PB_SERVICE_STATE.UNFILLED
		__sJsonStr.value = DEFAULT_VALUES_2[PB_DATA_TYPE.STRING]
	func set_sJsonStr(value : String) -> void:
		__sJsonStr.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S_IPC_CallRet:

	static var proto_name = "S_IPC_CallRet" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nSessionID = PBField.new("nSessionID", PB_DATA_TYPE.INT32, PB_RULE.OPTIONAL, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nSessionID
		data[__nSessionID.tag] = service
		
		__nMsgID = PBField.new("nMsgID", PB_DATA_TYPE.INT32, PB_RULE.OPTIONAL, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nMsgID
		data[__nMsgID.tag] = service
		
		__msgData = PBField.new("msgData", PB_DATA_TYPE.BYTES, PB_RULE.OPTIONAL, 3, false, DEFAULT_VALUES_2[PB_DATA_TYPE.BYTES])
		service = PBServiceField.new()
		service.field = __msgData
		data[__msgData.tag] = service
		
		__nInt = PBField.new("nInt", PB_DATA_TYPE.INT32, PB_RULE.OPTIONAL, 4, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nInt
		data[__nInt.tag] = service
		
		__sStr = PBField.new("sStr", PB_DATA_TYPE.INT32, PB_RULE.OPTIONAL, 5, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __sStr
		data[__sStr.tag] = service
		
		__bRemoteCallOk = PBField.new("bRemoteCallOk", PB_DATA_TYPE.BOOL, PB_RULE.OPTIONAL, 6, false, DEFAULT_VALUES_2[PB_DATA_TYPE.BOOL])
		service = PBServiceField.new()
		service.field = __bRemoteCallOk
		data[__bRemoteCallOk.tag] = service
		
	var data = {}
	
	var __nSessionID: PBField
	func has_nSessionID() -> bool:
		if __nSessionID.value != null:
			return true
		return false
	func get_nSessionID() -> int:
		return __nSessionID.value
	func clear_nSessionID() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nSessionID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nSessionID(value : int) -> void:
		__nSessionID.value = value
	
	var __nMsgID: PBField
	func has_nMsgID() -> bool:
		if __nMsgID.value != null:
			return true
		return false
	func get_nMsgID() -> int:
		return __nMsgID.value
	func clear_nMsgID() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__nMsgID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nMsgID(value : int) -> void:
		__nMsgID.value = value
	
	var __msgData: PBField
	func has_msgData() -> bool:
		if __msgData.value != null:
			return true
		return false
	func get_msgData() -> PackedByteArray:
		return __msgData.value
	func clear_msgData() -> void:
		data[3].state = PB_SERVICE_STATE.UNFILLED
		__msgData.value = DEFAULT_VALUES_2[PB_DATA_TYPE.BYTES]
	func set_msgData(value : PackedByteArray) -> void:
		__msgData.value = value
	
	var __nInt: PBField
	func has_nInt() -> bool:
		if __nInt.value != null:
			return true
		return false
	func get_nInt() -> int:
		return __nInt.value
	func clear_nInt() -> void:
		data[4].state = PB_SERVICE_STATE.UNFILLED
		__nInt.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nInt(value : int) -> void:
		__nInt.value = value
	
	var __sStr: PBField
	func has_sStr() -> bool:
		if __sStr.value != null:
			return true
		return false
	func get_sStr() -> int:
		return __sStr.value
	func clear_sStr() -> void:
		data[5].state = PB_SERVICE_STATE.UNFILLED
		__sStr.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_sStr(value : int) -> void:
		__sStr.value = value
	
	var __bRemoteCallOk: PBField
	func has_bRemoteCallOk() -> bool:
		if __bRemoteCallOk.value != null:
			return true
		return false
	func get_bRemoteCallOk() -> bool:
		return __bRemoteCallOk.value
	func clear_bRemoteCallOk() -> void:
		data[6].state = PB_SERVICE_STATE.UNFILLED
		__bRemoteCallOk.value = DEFAULT_VALUES_2[PB_DATA_TYPE.BOOL]
	func set_bRemoteCallOk(value : bool) -> void:
		__bRemoteCallOk.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S_S2C_QuerySwithLine:

	static var proto_name = "S_S2C_QuerySwithLine" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__dPlayerID = PBField.new("dPlayerID", PB_DATA_TYPE.DOUBLE, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __dPlayerID
		data[__dPlayerID.tag] = service
		
		__nTSceneUUID = PBField.new("nTSceneUUID", PB_DATA_TYPE.DOUBLE, PB_RULE.REQUIRED, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __nTSceneUUID
		data[__nTSceneUUID.tag] = service
		
		__nTPosx = PBField.new("nTPosx", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 3, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nTPosx
		data[__nTPosx.tag] = service
		
		__nTPosy = PBField.new("nTPosy", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 4, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nTPosy
		data[__nTPosy.tag] = service
		
		__strIP = PBField.new("strIP", PB_DATA_TYPE.STRING, PB_RULE.OPTIONAL, 5, false, DEFAULT_VALUES_2[PB_DATA_TYPE.STRING])
		service = PBServiceField.new()
		service.field = __strIP
		data[__strIP.tag] = service
		
		__nPort = PBField.new("nPort", PB_DATA_TYPE.INT32, PB_RULE.OPTIONAL, 6, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nPort
		data[__nPort.tag] = service
		
		__nServerID = PBField.new("nServerID", PB_DATA_TYPE.INT32, PB_RULE.OPTIONAL, 7, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nServerID
		data[__nServerID.tag] = service
		
	var data = {}
	
	var __dPlayerID: PBField
	func get_dPlayerID() -> float:
		return __dPlayerID.value
	func clear_dPlayerID() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__dPlayerID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_dPlayerID(value : float) -> void:
		__dPlayerID.value = value
	
	var __nTSceneUUID: PBField
	func get_nTSceneUUID() -> float:
		return __nTSceneUUID.value
	func clear_nTSceneUUID() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__nTSceneUUID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_nTSceneUUID(value : float) -> void:
		__nTSceneUUID.value = value
	
	var __nTPosx: PBField
	func get_nTPosx() -> int:
		return __nTPosx.value
	func clear_nTPosx() -> void:
		data[3].state = PB_SERVICE_STATE.UNFILLED
		__nTPosx.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nTPosx(value : int) -> void:
		__nTPosx.value = value
	
	var __nTPosy: PBField
	func get_nTPosy() -> int:
		return __nTPosy.value
	func clear_nTPosy() -> void:
		data[4].state = PB_SERVICE_STATE.UNFILLED
		__nTPosy.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nTPosy(value : int) -> void:
		__nTPosy.value = value
	
	var __strIP: PBField
	func has_strIP() -> bool:
		if __strIP.value != null:
			return true
		return false
	func get_strIP() -> String:
		return __strIP.value
	func clear_strIP() -> void:
		data[5].state = PB_SERVICE_STATE.UNFILLED
		__strIP.value = DEFAULT_VALUES_2[PB_DATA_TYPE.STRING]
	func set_strIP(value : String) -> void:
		__strIP.value = value
	
	var __nPort: PBField
	func has_nPort() -> bool:
		if __nPort.value != null:
			return true
		return false
	func get_nPort() -> int:
		return __nPort.value
	func clear_nPort() -> void:
		data[6].state = PB_SERVICE_STATE.UNFILLED
		__nPort.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nPort(value : int) -> void:
		__nPort.value = value
	
	var __nServerID: PBField
	func has_nServerID() -> bool:
		if __nServerID.value != null:
			return true
		return false
	func get_nServerID() -> int:
		return __nServerID.value
	func clear_nServerID() -> void:
		data[7].state = PB_SERVICE_STATE.UNFILLED
		__nServerID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nServerID(value : int) -> void:
		__nServerID.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S_C2S_NotifySwither:

	static var proto_name = "S_C2S_NotifySwither" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__dPlayerID = PBField.new("dPlayerID", PB_DATA_TYPE.DOUBLE, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __dPlayerID
		data[__dPlayerID.tag] = service
		
		__nTSceneUUID = PBField.new("nTSceneUUID", PB_DATA_TYPE.DOUBLE, PB_RULE.REQUIRED, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __nTSceneUUID
		data[__nTSceneUUID.tag] = service
		
		__nTPosx = PBField.new("nTPosx", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 3, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nTPosx
		data[__nTPosx.tag] = service
		
		__nTPosy = PBField.new("nTPosy", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 4, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nTPosy
		data[__nTPosy.tag] = service
		
	var data = {}
	
	var __dPlayerID: PBField
	func get_dPlayerID() -> float:
		return __dPlayerID.value
	func clear_dPlayerID() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__dPlayerID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_dPlayerID(value : float) -> void:
		__dPlayerID.value = value
	
	var __nTSceneUUID: PBField
	func get_nTSceneUUID() -> float:
		return __nTSceneUUID.value
	func clear_nTSceneUUID() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__nTSceneUUID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_nTSceneUUID(value : float) -> void:
		__nTSceneUUID.value = value
	
	var __nTPosx: PBField
	func get_nTPosx() -> int:
		return __nTPosx.value
	func clear_nTPosx() -> void:
		data[3].state = PB_SERVICE_STATE.UNFILLED
		__nTPosx.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nTPosx(value : int) -> void:
		__nTPosx.value = value
	
	var __nTPosy: PBField
	func get_nTPosy() -> int:
		return __nTPosy.value
	func clear_nTPosy() -> void:
		data[4].state = PB_SERVICE_STATE.UNFILLED
		__nTPosy.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nTPosy(value : int) -> void:
		__nTPosy.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S_C2S_Charge:

	static var proto_name = "S_C2S_Charge" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__dPlayerID = PBField.new("dPlayerID", PB_DATA_TYPE.DOUBLE, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __dPlayerID
		data[__dPlayerID.tag] = service
		
		__nGoodsID = PBField.new("nGoodsID", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nGoodsID
		data[__nGoodsID.tag] = service
		
		__strOrderNo = PBField.new("strOrderNo", PB_DATA_TYPE.STRING, PB_RULE.OPTIONAL, 3, false, DEFAULT_VALUES_2[PB_DATA_TYPE.STRING])
		service = PBServiceField.new()
		service.field = __strOrderNo
		data[__strOrderNo.tag] = service
		
	var data = {}
	
	var __dPlayerID: PBField
	func get_dPlayerID() -> float:
		return __dPlayerID.value
	func clear_dPlayerID() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__dPlayerID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_dPlayerID(value : float) -> void:
		__dPlayerID.value = value
	
	var __nGoodsID: PBField
	func get_nGoodsID() -> int:
		return __nGoodsID.value
	func clear_nGoodsID() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__nGoodsID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nGoodsID(value : int) -> void:
		__nGoodsID.value = value
	
	var __strOrderNo: PBField
	func has_strOrderNo() -> bool:
		if __strOrderNo.value != null:
			return true
		return false
	func get_strOrderNo() -> String:
		return __strOrderNo.value
	func clear_strOrderNo() -> void:
		data[3].state = PB_SERVICE_STATE.UNFILLED
		__strOrderNo.value = DEFAULT_VALUES_2[PB_DATA_TYPE.STRING]
	func set_strOrderNo(value : String) -> void:
		__strOrderNo.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S_S2C_Charge:

	static var proto_name = "S_S2C_Charge" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__RetCode = PBField.new("RetCode", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __RetCode
		data[__RetCode.tag] = service
		
		__strOrderNo = PBField.new("strOrderNo", PB_DATA_TYPE.STRING, PB_RULE.OPTIONAL, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.STRING])
		service = PBServiceField.new()
		service.field = __strOrderNo
		data[__strOrderNo.tag] = service
		
	var data = {}
	
	var __RetCode: PBField
	func get_RetCode() -> int:
		return __RetCode.value
	func clear_RetCode() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__RetCode.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_RetCode(value : int) -> void:
		__RetCode.value = value
	
	var __strOrderNo: PBField
	func has_strOrderNo() -> bool:
		if __strOrderNo.value != null:
			return true
		return false
	func get_strOrderNo() -> String:
		return __strOrderNo.value
	func clear_strOrderNo() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__strOrderNo.value = DEFAULT_VALUES_2[PB_DATA_TYPE.STRING]
	func set_strOrderNo(value : String) -> void:
		__strOrderNo.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S2C_SyncOpenFunctionFlags:

	static var proto_name = "S2C_SyncOpenFunctionFlags" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		var __vecOpenFuncTypes_default: Array[int] = []
		__vecOpenFuncTypes = PBField.new("vecOpenFuncTypes", PB_DATA_TYPE.INT32, PB_RULE.REPEATED, 1, false, __vecOpenFuncTypes_default)
		service = PBServiceField.new()
		service.field = __vecOpenFuncTypes
		data[__vecOpenFuncTypes.tag] = service
		
	var data = {}
	
	var __vecOpenFuncTypes: PBField
	func get_vecOpenFuncTypes() -> Array[int]:
		return __vecOpenFuncTypes.value
	func clear_vecOpenFuncTypes() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__vecOpenFuncTypes.value.clear()
	func add_vecOpenFuncTypes(value : int) -> void:
		__vecOpenFuncTypes.value.append(value)
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S_C2S_SyncOpenFunctionFlags:

	static var proto_name = "S_C2S_SyncOpenFunctionFlags" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		var __vecOpenFuncTypes_default: Array[int] = []
		__vecOpenFuncTypes = PBField.new("vecOpenFuncTypes", PB_DATA_TYPE.INT32, PB_RULE.REPEATED, 1, false, __vecOpenFuncTypes_default)
		service = PBServiceField.new()
		service.field = __vecOpenFuncTypes
		data[__vecOpenFuncTypes.tag] = service
		
	var data = {}
	
	var __vecOpenFuncTypes: PBField
	func get_vecOpenFuncTypes() -> Array[int]:
		return __vecOpenFuncTypes.value
	func clear_vecOpenFuncTypes() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__vecOpenFuncTypes.value.clear()
	func add_vecOpenFuncTypes(value : int) -> void:
		__vecOpenFuncTypes.value.append(value)
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S2C_ChangeOpenFunctionFlags:

	static var proto_name = "S2C_ChangeOpenFunctionFlags" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nFuncType = PBField.new("nFuncType", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nFuncType
		data[__nFuncType.tag] = service
		
		__nFlag = PBField.new("nFlag", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nFlag
		data[__nFlag.tag] = service
		
	var data = {}
	
	var __nFuncType: PBField
	func get_nFuncType() -> int:
		return __nFuncType.value
	func clear_nFuncType() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nFuncType.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nFuncType(value : int) -> void:
		__nFuncType.value = value
	
	var __nFlag: PBField
	func get_nFlag() -> int:
		return __nFlag.value
	func clear_nFlag() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__nFlag.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nFlag(value : int) -> void:
		__nFlag.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S_C2S_ChangeOpenFunctionFlags:

	static var proto_name = "S_C2S_ChangeOpenFunctionFlags" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nFuncType = PBField.new("nFuncType", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nFuncType
		data[__nFuncType.tag] = service
		
		__nFlag = PBField.new("nFlag", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nFlag
		data[__nFlag.tag] = service
		
	var data = {}
	
	var __nFuncType: PBField
	func get_nFuncType() -> int:
		return __nFuncType.value
	func clear_nFuncType() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nFuncType.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nFuncType(value : int) -> void:
		__nFuncType.value = value
	
	var __nFlag: PBField
	func get_nFlag() -> int:
		return __nFlag.value
	func clear_nFlag() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__nFlag.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nFlag(value : int) -> void:
		__nFlag.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S_C2S_PlayerReward:

	static var proto_name = "S_C2S_PlayerReward" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__dPlayerID = PBField.new("dPlayerID", PB_DATA_TYPE.DOUBLE, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __dPlayerID
		data[__dPlayerID.tag] = service
		
		var __vecRewards_default: Array[RewardItem] = []
		__vecRewards = PBField.new("vecRewards", PB_DATA_TYPE.MESSAGE, PB_RULE.REPEATED, 2, false, __vecRewards_default)
		service = PBServiceField.new()
		service.field = __vecRewards
		service.func_ref = Callable(self, "add_vecRewards")
		data[__vecRewards.tag] = service
		
		__strDesc = PBField.new("strDesc", PB_DATA_TYPE.STRING, PB_RULE.REQUIRED, 3, false, DEFAULT_VALUES_2[PB_DATA_TYPE.STRING])
		service = PBServiceField.new()
		service.field = __strDesc
		data[__strDesc.tag] = service
		
		__nActionType = PBField.new("nActionType", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 4, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nActionType
		data[__nActionType.tag] = service
		
	var data = {}
	
	var __dPlayerID: PBField
	func get_dPlayerID() -> float:
		return __dPlayerID.value
	func clear_dPlayerID() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__dPlayerID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_dPlayerID(value : float) -> void:
		__dPlayerID.value = value
	
	var __vecRewards: PBField
	func get_vecRewards() -> Array[RewardItem]:
		return __vecRewards.value
	func clear_vecRewards() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__vecRewards.value.clear()
	func add_vecRewards() -> RewardItem:
		var element = RewardItem.new()
		__vecRewards.value.append(element)
		return element
	
	var __strDesc: PBField
	func get_strDesc() -> String:
		return __strDesc.value
	func clear_strDesc() -> void:
		data[3].state = PB_SERVICE_STATE.UNFILLED
		__strDesc.value = DEFAULT_VALUES_2[PB_DATA_TYPE.STRING]
	func set_strDesc(value : String) -> void:
		__strDesc.value = value
	
	var __nActionType: PBField
	func get_nActionType() -> int:
		return __nActionType.value
	func clear_nActionType() -> void:
		data[4].state = PB_SERVICE_STATE.UNFILLED
		__nActionType.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nActionType(value : int) -> void:
		__nActionType.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S_S2C_PlayerReward:

	static var proto_name = "S_S2C_PlayerReward" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nRetCode = PBField.new("nRetCode", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nRetCode
		data[__nRetCode.tag] = service
		
		__dPlayerID = PBField.new("dPlayerID", PB_DATA_TYPE.DOUBLE, PB_RULE.REQUIRED, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __dPlayerID
		data[__dPlayerID.tag] = service
		
		var __vecRewards_default: Array[RewardItem] = []
		__vecRewards = PBField.new("vecRewards", PB_DATA_TYPE.MESSAGE, PB_RULE.REPEATED, 3, false, __vecRewards_default)
		service = PBServiceField.new()
		service.field = __vecRewards
		service.func_ref = Callable(self, "add_vecRewards")
		data[__vecRewards.tag] = service
		
		__strDesc = PBField.new("strDesc", PB_DATA_TYPE.STRING, PB_RULE.REQUIRED, 4, false, DEFAULT_VALUES_2[PB_DATA_TYPE.STRING])
		service = PBServiceField.new()
		service.field = __strDesc
		data[__strDesc.tag] = service
		
	var data = {}
	
	var __nRetCode: PBField
	func get_nRetCode() -> int:
		return __nRetCode.value
	func clear_nRetCode() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nRetCode.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nRetCode(value : int) -> void:
		__nRetCode.value = value
	
	var __dPlayerID: PBField
	func get_dPlayerID() -> float:
		return __dPlayerID.value
	func clear_dPlayerID() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__dPlayerID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_dPlayerID(value : float) -> void:
		__dPlayerID.value = value
	
	var __vecRewards: PBField
	func get_vecRewards() -> Array[RewardItem]:
		return __vecRewards.value
	func clear_vecRewards() -> void:
		data[3].state = PB_SERVICE_STATE.UNFILLED
		__vecRewards.value.clear()
	func add_vecRewards() -> RewardItem:
		var element = RewardItem.new()
		__vecRewards.value.append(element)
		return element
	
	var __strDesc: PBField
	func get_strDesc() -> String:
		return __strDesc.value
	func clear_strDesc() -> void:
		data[4].state = PB_SERVICE_STATE.UNFILLED
		__strDesc.value = DEFAULT_VALUES_2[PB_DATA_TYPE.STRING]
	func set_strDesc(value : String) -> void:
		__strDesc.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class G2C_TableDataNotify:

	static var proto_name = "G2C_TableDataNotify" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__tblID = PBField.new("tblID", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __tblID
		data[__tblID.tag] = service
		
		__ownerID = PBField.new("ownerID", PB_DATA_TYPE.DOUBLE, PB_RULE.REQUIRED, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __ownerID
		data[__ownerID.tag] = service
		
		__tblData = PBField.new("tblData", PB_DATA_TYPE.BYTES, PB_RULE.REQUIRED, 3, false, DEFAULT_VALUES_2[PB_DATA_TYPE.BYTES])
		service = PBServiceField.new()
		service.field = __tblData
		data[__tblData.tag] = service
		
	var data = {}
	
	var __tblID: PBField
	func get_tblID() -> int:
		return __tblID.value
	func clear_tblID() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__tblID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_tblID(value : int) -> void:
		__tblID.value = value
	
	var __ownerID: PBField
	func get_ownerID() -> float:
		return __ownerID.value
	func clear_ownerID() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__ownerID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_ownerID(value : float) -> void:
		__ownerID.value = value
	
	var __tblData: PBField
	func get_tblData() -> PackedByteArray:
		return __tblData.value
	func clear_tblData() -> void:
		data[3].state = PB_SERVICE_STATE.UNFILLED
		__tblData.value = DEFAULT_VALUES_2[PB_DATA_TYPE.BYTES]
	func set_tblData(value : PackedByteArray) -> void:
		__tblData.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class Pro_InitDataDefine:

	static var proto_name = "Pro_InitDataDefine" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__dataDefineType = PBField.new("dataDefineType", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __dataDefineType
		data[__dataDefineType.tag] = service
		
		__dataDefineUUID = PBField.new("dataDefineUUID", PB_DATA_TYPE.DOUBLE, PB_RULE.REQUIRED, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __dataDefineUUID
		data[__dataDefineUUID.tag] = service
		
		__sizeBuffer = PBField.new("sizeBuffer", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 3, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __sizeBuffer
		data[__sizeBuffer.tag] = service
		
		__dataBuffer = PBField.new("dataBuffer", PB_DATA_TYPE.BYTES, PB_RULE.OPTIONAL, 4, false, DEFAULT_VALUES_2[PB_DATA_TYPE.BYTES])
		service = PBServiceField.new()
		service.field = __dataBuffer
		data[__dataBuffer.tag] = service
		
	var data = {}
	
	var __dataDefineType: PBField
	func get_dataDefineType() -> int:
		return __dataDefineType.value
	func clear_dataDefineType() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__dataDefineType.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_dataDefineType(value : int) -> void:
		__dataDefineType.value = value
	
	var __dataDefineUUID: PBField
	func get_dataDefineUUID() -> float:
		return __dataDefineUUID.value
	func clear_dataDefineUUID() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__dataDefineUUID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_dataDefineUUID(value : float) -> void:
		__dataDefineUUID.value = value
	
	var __sizeBuffer: PBField
	func get_sizeBuffer() -> int:
		return __sizeBuffer.value
	func clear_sizeBuffer() -> void:
		data[3].state = PB_SERVICE_STATE.UNFILLED
		__sizeBuffer.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_sizeBuffer(value : int) -> void:
		__sizeBuffer.value = value
	
	var __dataBuffer: PBField
	func has_dataBuffer() -> bool:
		if __dataBuffer.value != null:
			return true
		return false
	func get_dataBuffer() -> PackedByteArray:
		return __dataBuffer.value
	func clear_dataBuffer() -> void:
		data[4].state = PB_SERVICE_STATE.UNFILLED
		__dataBuffer.value = DEFAULT_VALUES_2[PB_DATA_TYPE.BYTES]
	func set_dataBuffer(value : PackedByteArray) -> void:
		__dataBuffer.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class Pro_UnInitDataDefine:

	static var proto_name = "Pro_UnInitDataDefine" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__dataDefineType = PBField.new("dataDefineType", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __dataDefineType
		data[__dataDefineType.tag] = service
		
		__dataDefineUUID = PBField.new("dataDefineUUID", PB_DATA_TYPE.DOUBLE, PB_RULE.REQUIRED, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __dataDefineUUID
		data[__dataDefineUUID.tag] = service
		
	var data = {}
	
	var __dataDefineType: PBField
	func get_dataDefineType() -> int:
		return __dataDefineType.value
	func clear_dataDefineType() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__dataDefineType.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_dataDefineType(value : int) -> void:
		__dataDefineType.value = value
	
	var __dataDefineUUID: PBField
	func get_dataDefineUUID() -> float:
		return __dataDefineUUID.value
	func clear_dataDefineUUID() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__dataDefineUUID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_dataDefineUUID(value : float) -> void:
		__dataDefineUUID.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class Pro_SynDataDefine:

	static var proto_name = "Pro_SynDataDefine" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__dataDefineType = PBField.new("dataDefineType", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __dataDefineType
		data[__dataDefineType.tag] = service
		
		__dataDefineUUID = PBField.new("dataDefineUUID", PB_DATA_TYPE.DOUBLE, PB_RULE.REQUIRED, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __dataDefineUUID
		data[__dataDefineUUID.tag] = service
		
		__dataUUID = PBField.new("dataUUID", PB_DATA_TYPE.DOUBLE, PB_RULE.REQUIRED, 3, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __dataUUID
		data[__dataUUID.tag] = service
		
		__nTableID = PBField.new("nTableID", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 4, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nTableID
		data[__nTableID.tag] = service
		
		__nFieldID = PBField.new("nFieldID", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 5, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nFieldID
		data[__nFieldID.tag] = service
		
		__nOperType = PBField.new("nOperType", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 6, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nOperType
		data[__nOperType.tag] = service
		
		__sizeBuffer = PBField.new("sizeBuffer", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 7, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __sizeBuffer
		data[__sizeBuffer.tag] = service
		
		__dataBuffer = PBField.new("dataBuffer", PB_DATA_TYPE.BYTES, PB_RULE.OPTIONAL, 8, false, DEFAULT_VALUES_2[PB_DATA_TYPE.BYTES])
		service = PBServiceField.new()
		service.field = __dataBuffer
		data[__dataBuffer.tag] = service
		
	var data = {}
	
	var __dataDefineType: PBField
	func get_dataDefineType() -> int:
		return __dataDefineType.value
	func clear_dataDefineType() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__dataDefineType.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_dataDefineType(value : int) -> void:
		__dataDefineType.value = value
	
	var __dataDefineUUID: PBField
	func get_dataDefineUUID() -> float:
		return __dataDefineUUID.value
	func clear_dataDefineUUID() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__dataDefineUUID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_dataDefineUUID(value : float) -> void:
		__dataDefineUUID.value = value
	
	var __dataUUID: PBField
	func get_dataUUID() -> float:
		return __dataUUID.value
	func clear_dataUUID() -> void:
		data[3].state = PB_SERVICE_STATE.UNFILLED
		__dataUUID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_dataUUID(value : float) -> void:
		__dataUUID.value = value
	
	var __nTableID: PBField
	func get_nTableID() -> int:
		return __nTableID.value
	func clear_nTableID() -> void:
		data[4].state = PB_SERVICE_STATE.UNFILLED
		__nTableID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nTableID(value : int) -> void:
		__nTableID.value = value
	
	var __nFieldID: PBField
	func get_nFieldID() -> int:
		return __nFieldID.value
	func clear_nFieldID() -> void:
		data[5].state = PB_SERVICE_STATE.UNFILLED
		__nFieldID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nFieldID(value : int) -> void:
		__nFieldID.value = value
	
	var __nOperType: PBField
	func get_nOperType() -> int:
		return __nOperType.value
	func clear_nOperType() -> void:
		data[6].state = PB_SERVICE_STATE.UNFILLED
		__nOperType.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nOperType(value : int) -> void:
		__nOperType.value = value
	
	var __sizeBuffer: PBField
	func get_sizeBuffer() -> int:
		return __sizeBuffer.value
	func clear_sizeBuffer() -> void:
		data[7].state = PB_SERVICE_STATE.UNFILLED
		__sizeBuffer.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_sizeBuffer(value : int) -> void:
		__sizeBuffer.value = value
	
	var __dataBuffer: PBField
	func has_dataBuffer() -> bool:
		if __dataBuffer.value != null:
			return true
		return false
	func get_dataBuffer() -> PackedByteArray:
		return __dataBuffer.value
	func clear_dataBuffer() -> void:
		data[8].state = PB_SERVICE_STATE.UNFILLED
		__dataBuffer.value = DEFAULT_VALUES_2[PB_DATA_TYPE.BYTES]
	func set_dataBuffer(value : PackedByteArray) -> void:
		__dataBuffer.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class TaskInfo:

	static var proto_name = "TaskInfo" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nId = PBField.new("nId", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nId
		data[__nId.tag] = service
		
		__nBattlePassTaskState = PBField.new("nBattlePassTaskState", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nBattlePassTaskState
		data[__nBattlePassTaskState.tag] = service
		
		__nStartValue = PBField.new("nStartValue", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 3, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nStartValue
		data[__nStartValue.tag] = service
		
		__nProgress = PBField.new("nProgress", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 4, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nProgress
		data[__nProgress.tag] = service
		
		__dCreateTime = PBField.new("dCreateTime", PB_DATA_TYPE.DOUBLE, PB_RULE.REQUIRED, 5, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __dCreateTime
		data[__dCreateTime.tag] = service
		
		__nIsShow = PBField.new("nIsShow", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 6, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nIsShow
		data[__nIsShow.tag] = service
		
	var data = {}
	
	var __nId: PBField
	func get_nId() -> int:
		return __nId.value
	func clear_nId() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nId.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nId(value : int) -> void:
		__nId.value = value
	
	var __nBattlePassTaskState: PBField
	func get_nBattlePassTaskState() -> int:
		return __nBattlePassTaskState.value
	func clear_nBattlePassTaskState() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__nBattlePassTaskState.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nBattlePassTaskState(value : int) -> void:
		__nBattlePassTaskState.value = value
	
	var __nStartValue: PBField
	func get_nStartValue() -> int:
		return __nStartValue.value
	func clear_nStartValue() -> void:
		data[3].state = PB_SERVICE_STATE.UNFILLED
		__nStartValue.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nStartValue(value : int) -> void:
		__nStartValue.value = value
	
	var __nProgress: PBField
	func get_nProgress() -> int:
		return __nProgress.value
	func clear_nProgress() -> void:
		data[4].state = PB_SERVICE_STATE.UNFILLED
		__nProgress.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nProgress(value : int) -> void:
		__nProgress.value = value
	
	var __dCreateTime: PBField
	func get_dCreateTime() -> float:
		return __dCreateTime.value
	func clear_dCreateTime() -> void:
		data[5].state = PB_SERVICE_STATE.UNFILLED
		__dCreateTime.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_dCreateTime(value : float) -> void:
		__dCreateTime.value = value
	
	var __nIsShow: PBField
	func get_nIsShow() -> int:
		return __nIsShow.value
	func clear_nIsShow() -> void:
		data[6].state = PB_SERVICE_STATE.UNFILLED
		__nIsShow.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nIsShow(value : int) -> void:
		__nIsShow.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class C2S_GetTaskList:

	static var proto_name = "C2S_GetTaskList" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nTaskType = PBField.new("nTaskType", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nTaskType
		data[__nTaskType.tag] = service
		
	var data = {}
	
	var __nTaskType: PBField
	func get_nTaskType() -> int:
		return __nTaskType.value
	func clear_nTaskType() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nTaskType.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nTaskType(value : int) -> void:
		__nTaskType.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S_G2CE_GetTaskList:

	static var proto_name = "S_G2CE_GetTaskList" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nPlayerID = PBField.new("nPlayerID", PB_DATA_TYPE.DOUBLE, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __nPlayerID
		data[__nPlayerID.tag] = service
		
		__nTaskType = PBField.new("nTaskType", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nTaskType
		data[__nTaskType.tag] = service
		
	var data = {}
	
	var __nPlayerID: PBField
	func get_nPlayerID() -> float:
		return __nPlayerID.value
	func clear_nPlayerID() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nPlayerID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_nPlayerID(value : float) -> void:
		__nPlayerID.value = value
	
	var __nTaskType: PBField
	func get_nTaskType() -> int:
		return __nTaskType.value
	func clear_nTaskType() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__nTaskType.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nTaskType(value : int) -> void:
		__nTaskType.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class C2S_Task_TakeBattlepassReward:

	static var proto_name = "C2S_Task_TakeBattlepassReward" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nType = PBField.new("nType", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nType
		data[__nType.tag] = service
		
		__nId = PBField.new("nId", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nId
		data[__nId.tag] = service
		
	var data = {}
	
	var __nType: PBField
	func get_nType() -> int:
		return __nType.value
	func clear_nType() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nType.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nType(value : int) -> void:
		__nType.value = value
	
	var __nId: PBField
	func get_nId() -> int:
		return __nId.value
	func clear_nId() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__nId.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nId(value : int) -> void:
		__nId.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S_G2CE_Task_TakeBattlepassReward:

	static var proto_name = "S_G2CE_Task_TakeBattlepassReward" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nPlayerID = PBField.new("nPlayerID", PB_DATA_TYPE.DOUBLE, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __nPlayerID
		data[__nPlayerID.tag] = service
		
		__nType = PBField.new("nType", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nType
		data[__nType.tag] = service
		
		__nId = PBField.new("nId", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 3, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nId
		data[__nId.tag] = service
		
	var data = {}
	
	var __nPlayerID: PBField
	func get_nPlayerID() -> float:
		return __nPlayerID.value
	func clear_nPlayerID() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nPlayerID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_nPlayerID(value : float) -> void:
		__nPlayerID.value = value
	
	var __nType: PBField
	func get_nType() -> int:
		return __nType.value
	func clear_nType() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__nType.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nType(value : int) -> void:
		__nType.value = value
	
	var __nId: PBField
	func get_nId() -> int:
		return __nId.value
	func clear_nId() -> void:
		data[3].state = PB_SERVICE_STATE.UNFILLED
		__nId.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nId(value : int) -> void:
		__nId.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class C2S_Task_FreshChallengeTask:

	static var proto_name = "C2S_Task_FreshChallengeTask" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nId = PBField.new("nId", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nId
		data[__nId.tag] = service
		
	var data = {}
	
	var __nId: PBField
	func get_nId() -> int:
		return __nId.value
	func clear_nId() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nId.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nId(value : int) -> void:
		__nId.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S_G2CE_Task_FreshChallengeTask:

	static var proto_name = "S_G2CE_Task_FreshChallengeTask" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nPlayerID = PBField.new("nPlayerID", PB_DATA_TYPE.DOUBLE, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __nPlayerID
		data[__nPlayerID.tag] = service
		
		__nId = PBField.new("nId", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nId
		data[__nId.tag] = service
		
	var data = {}
	
	var __nPlayerID: PBField
	func get_nPlayerID() -> float:
		return __nPlayerID.value
	func clear_nPlayerID() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nPlayerID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_nPlayerID(value : float) -> void:
		__nPlayerID.value = value
	
	var __nId: PBField
	func get_nId() -> int:
		return __nId.value
	func clear_nId() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__nId.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nId(value : int) -> void:
		__nId.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class C2S_Task_WriteTargetTask:

	static var proto_name = "C2S_Task_WriteTargetTask" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nId = PBField.new("nId", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nId
		data[__nId.tag] = service
		
		__ntaskType = PBField.new("ntaskType", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __ntaskType
		data[__ntaskType.tag] = service
		
	var data = {}
	
	var __nId: PBField
	func get_nId() -> int:
		return __nId.value
	func clear_nId() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nId.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nId(value : int) -> void:
		__nId.value = value
	
	var __ntaskType: PBField
	func get_ntaskType() -> int:
		return __ntaskType.value
	func clear_ntaskType() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__ntaskType.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_ntaskType(value : int) -> void:
		__ntaskType.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S_G2CE_Task_WriteTargetTask:

	static var proto_name = "S_G2CE_Task_WriteTargetTask" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nPlayerID = PBField.new("nPlayerID", PB_DATA_TYPE.DOUBLE, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __nPlayerID
		data[__nPlayerID.tag] = service
		
		__nId = PBField.new("nId", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nId
		data[__nId.tag] = service
		
		__ntaskType = PBField.new("ntaskType", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 3, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __ntaskType
		data[__ntaskType.tag] = service
		
	var data = {}
	
	var __nPlayerID: PBField
	func get_nPlayerID() -> float:
		return __nPlayerID.value
	func clear_nPlayerID() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nPlayerID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_nPlayerID(value : float) -> void:
		__nPlayerID.value = value
	
	var __nId: PBField
	func get_nId() -> int:
		return __nId.value
	func clear_nId() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__nId.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nId(value : int) -> void:
		__nId.value = value
	
	var __ntaskType: PBField
	func get_ntaskType() -> int:
		return __ntaskType.value
	func clear_ntaskType() -> void:
		data[3].state = PB_SERVICE_STATE.UNFILLED
		__ntaskType.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_ntaskType(value : int) -> void:
		__ntaskType.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class C2S_Task_TakeDailyTaskReadward:

	static var proto_name = "C2S_Task_TakeDailyTaskReadward" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nIsVip = PBField.new("nIsVip", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nIsVip
		data[__nIsVip.tag] = service
		
	var data = {}
	
	var __nIsVip: PBField
	func get_nIsVip() -> int:
		return __nIsVip.value
	func clear_nIsVip() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nIsVip.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nIsVip(value : int) -> void:
		__nIsVip.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S_G2CE_Task_TakeDailyTaskReadward:

	static var proto_name = "S_G2CE_Task_TakeDailyTaskReadward" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nPlayerID = PBField.new("nPlayerID", PB_DATA_TYPE.DOUBLE, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __nPlayerID
		data[__nPlayerID.tag] = service
		
		__nIsVip = PBField.new("nIsVip", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nIsVip
		data[__nIsVip.tag] = service
		
	var data = {}
	
	var __nPlayerID: PBField
	func get_nPlayerID() -> float:
		return __nPlayerID.value
	func clear_nPlayerID() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nPlayerID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_nPlayerID(value : float) -> void:
		__nPlayerID.value = value
	
	var __nIsVip: PBField
	func get_nIsVip() -> int:
		return __nIsVip.value
	func clear_nIsVip() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__nIsVip.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nIsVip(value : int) -> void:
		__nIsVip.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class C2S_Task__OneKeyTakeRewward:

	static var proto_name = "C2S_Task__OneKeyTakeRewward" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
	var data = {}
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S_G2CE_Task__OneKeyTakeRewward:

	static var proto_name = "S_G2CE_Task__OneKeyTakeRewward" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nPlayerID = PBField.new("nPlayerID", PB_DATA_TYPE.DOUBLE, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __nPlayerID
		data[__nPlayerID.tag] = service
		
	var data = {}
	
	var __nPlayerID: PBField
	func get_nPlayerID() -> float:
		return __nPlayerID.value
	func clear_nPlayerID() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nPlayerID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_nPlayerID(value : float) -> void:
		__nPlayerID.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class C2S_Task_SetTaskShow:

	static var proto_name = "C2S_Task_SetTaskShow" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nId = PBField.new("nId", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nId
		data[__nId.tag] = service
		
		__ntaskType = PBField.new("ntaskType", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __ntaskType
		data[__ntaskType.tag] = service
		
	var data = {}
	
	var __nId: PBField
	func get_nId() -> int:
		return __nId.value
	func clear_nId() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nId.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nId(value : int) -> void:
		__nId.value = value
	
	var __ntaskType: PBField
	func get_ntaskType() -> int:
		return __ntaskType.value
	func clear_ntaskType() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__ntaskType.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_ntaskType(value : int) -> void:
		__ntaskType.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S_G2CE_Task_SetTaskShow:

	static var proto_name = "S_G2CE_Task_SetTaskShow" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nPlayerID = PBField.new("nPlayerID", PB_DATA_TYPE.DOUBLE, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __nPlayerID
		data[__nPlayerID.tag] = service
		
		__nId = PBField.new("nId", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nId
		data[__nId.tag] = service
		
		__ntaskType = PBField.new("ntaskType", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 3, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __ntaskType
		data[__ntaskType.tag] = service
		
	var data = {}
	
	var __nPlayerID: PBField
	func get_nPlayerID() -> float:
		return __nPlayerID.value
	func clear_nPlayerID() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nPlayerID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_nPlayerID(value : float) -> void:
		__nPlayerID.value = value
	
	var __nId: PBField
	func get_nId() -> int:
		return __nId.value
	func clear_nId() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__nId.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nId(value : int) -> void:
		__nId.value = value
	
	var __ntaskType: PBField
	func get_ntaskType() -> int:
		return __ntaskType.value
	func clear_ntaskType() -> void:
		data[3].state = PB_SERVICE_STATE.UNFILLED
		__ntaskType.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_ntaskType(value : int) -> void:
		__ntaskType.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S_G2CE_Task_CompleteTask:

	static var proto_name = "S_G2CE_Task_CompleteTask" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nPlayerID = PBField.new("nPlayerID", PB_DATA_TYPE.DOUBLE, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __nPlayerID
		data[__nPlayerID.tag] = service
		
		__nId = PBField.new("nId", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nId
		data[__nId.tag] = service
		
	var data = {}
	
	var __nPlayerID: PBField
	func get_nPlayerID() -> float:
		return __nPlayerID.value
	func clear_nPlayerID() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nPlayerID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_nPlayerID(value : float) -> void:
		__nPlayerID.value = value
	
	var __nId: PBField
	func get_nId() -> int:
		return __nId.value
	func clear_nId() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__nId.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nId(value : int) -> void:
		__nId.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S_G2CE_Task_SetTaskData:

	static var proto_name = "S_G2CE_Task_SetTaskData" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nPlayerID = PBField.new("nPlayerID", PB_DATA_TYPE.DOUBLE, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __nPlayerID
		data[__nPlayerID.tag] = service
		
		__nId = PBField.new("nId", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nId
		data[__nId.tag] = service
		
		__nProgress = PBField.new("nProgress", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 3, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nProgress
		data[__nProgress.tag] = service
		
		__nState = PBField.new("nState", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 4, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nState
		data[__nState.tag] = service
		
	var data = {}
	
	var __nPlayerID: PBField
	func get_nPlayerID() -> float:
		return __nPlayerID.value
	func clear_nPlayerID() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nPlayerID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_nPlayerID(value : float) -> void:
		__nPlayerID.value = value
	
	var __nId: PBField
	func get_nId() -> int:
		return __nId.value
	func clear_nId() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__nId.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nId(value : int) -> void:
		__nId.value = value
	
	var __nProgress: PBField
	func get_nProgress() -> int:
		return __nProgress.value
	func clear_nProgress() -> void:
		data[3].state = PB_SERVICE_STATE.UNFILLED
		__nProgress.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nProgress(value : int) -> void:
		__nProgress.value = value
	
	var __nState: PBField
	func get_nState() -> int:
		return __nState.value
	func clear_nState() -> void:
		data[4].state = PB_SERVICE_STATE.UNFILLED
		__nState.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nState(value : int) -> void:
		__nState.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S_G2CE_Task_AddActivePoint:

	static var proto_name = "S_G2CE_Task_AddActivePoint" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nPlayerID = PBField.new("nPlayerID", PB_DATA_TYPE.DOUBLE, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __nPlayerID
		data[__nPlayerID.tag] = service
		
		__nActivePoint = PBField.new("nActivePoint", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nActivePoint
		data[__nActivePoint.tag] = service
		
	var data = {}
	
	var __nPlayerID: PBField
	func get_nPlayerID() -> float:
		return __nPlayerID.value
	func clear_nPlayerID() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nPlayerID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_nPlayerID(value : float) -> void:
		__nPlayerID.value = value
	
	var __nActivePoint: PBField
	func get_nActivePoint() -> int:
		return __nActivePoint.value
	func clear_nActivePoint() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__nActivePoint.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nActivePoint(value : int) -> void:
		__nActivePoint.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S_G2CE_Task_AddActionData:

	static var proto_name = "S_G2CE_Task_AddActionData" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nPlayerID = PBField.new("nPlayerID", PB_DATA_TYPE.DOUBLE, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __nPlayerID
		data[__nPlayerID.tag] = service
		
		__nNetworType = PBField.new("nNetworType", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nNetworType
		data[__nNetworType.tag] = service
		
		__nNetworkId = PBField.new("nNetworkId", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 3, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nNetworkId
		data[__nNetworkId.tag] = service
		
		__nChallengeFinishType = PBField.new("nChallengeFinishType", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 4, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nChallengeFinishType
		data[__nChallengeFinishType.tag] = service
		
		__nValue = PBField.new("nValue", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 5, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nValue
		data[__nValue.tag] = service
		
		__nExValue = PBField.new("nExValue", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 6, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nExValue
		data[__nExValue.tag] = service
		
	var data = {}
	
	var __nPlayerID: PBField
	func get_nPlayerID() -> float:
		return __nPlayerID.value
	func clear_nPlayerID() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nPlayerID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_nPlayerID(value : float) -> void:
		__nPlayerID.value = value
	
	var __nNetworType: PBField
	func get_nNetworType() -> int:
		return __nNetworType.value
	func clear_nNetworType() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__nNetworType.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nNetworType(value : int) -> void:
		__nNetworType.value = value
	
	var __nNetworkId: PBField
	func get_nNetworkId() -> int:
		return __nNetworkId.value
	func clear_nNetworkId() -> void:
		data[3].state = PB_SERVICE_STATE.UNFILLED
		__nNetworkId.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nNetworkId(value : int) -> void:
		__nNetworkId.value = value
	
	var __nChallengeFinishType: PBField
	func get_nChallengeFinishType() -> int:
		return __nChallengeFinishType.value
	func clear_nChallengeFinishType() -> void:
		data[4].state = PB_SERVICE_STATE.UNFILLED
		__nChallengeFinishType.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nChallengeFinishType(value : int) -> void:
		__nChallengeFinishType.value = value
	
	var __nValue: PBField
	func get_nValue() -> int:
		return __nValue.value
	func clear_nValue() -> void:
		data[5].state = PB_SERVICE_STATE.UNFILLED
		__nValue.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nValue(value : int) -> void:
		__nValue.value = value
	
	var __nExValue: PBField
	func get_nExValue() -> int:
		return __nExValue.value
	func clear_nExValue() -> void:
		data[6].state = PB_SERVICE_STATE.UNFILLED
		__nExValue.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nExValue(value : int) -> void:
		__nExValue.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S_G2CE_Task_OperationTask:

	static var proto_name = "S_G2CE_Task_OperationTask" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nPlayerID = PBField.new("nPlayerID", PB_DATA_TYPE.DOUBLE, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __nPlayerID
		data[__nPlayerID.tag] = service
		
		__nOperationType = PBField.new("nOperationType", PB_DATA_TYPE.DOUBLE, PB_RULE.REQUIRED, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __nOperationType
		data[__nOperationType.tag] = service
		
		__nTaskType = PBField.new("nTaskType", PB_DATA_TYPE.DOUBLE, PB_RULE.REQUIRED, 3, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __nTaskType
		data[__nTaskType.tag] = service
		
		__nTaskId = PBField.new("nTaskId", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 4, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nTaskId
		data[__nTaskId.tag] = service
		
	var data = {}
	
	var __nPlayerID: PBField
	func get_nPlayerID() -> float:
		return __nPlayerID.value
	func clear_nPlayerID() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nPlayerID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_nPlayerID(value : float) -> void:
		__nPlayerID.value = value
	
	var __nOperationType: PBField
	func get_nOperationType() -> float:
		return __nOperationType.value
	func clear_nOperationType() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__nOperationType.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_nOperationType(value : float) -> void:
		__nOperationType.value = value
	
	var __nTaskType: PBField
	func get_nTaskType() -> float:
		return __nTaskType.value
	func clear_nTaskType() -> void:
		data[3].state = PB_SERVICE_STATE.UNFILLED
		__nTaskType.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_nTaskType(value : float) -> void:
		__nTaskType.value = value
	
	var __nTaskId: PBField
	func get_nTaskId() -> int:
		return __nTaskId.value
	func clear_nTaskId() -> void:
		data[4].state = PB_SERVICE_STATE.UNFILLED
		__nTaskId.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nTaskId(value : int) -> void:
		__nTaskId.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S_C2G_AddReward:

	static var proto_name = "S_C2G_AddReward" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nItemId = PBField.new("nItemId", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nItemId
		data[__nItemId.tag] = service
		
		__nItemCount = PBField.new("nItemCount", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nItemCount
		data[__nItemCount.tag] = service
		
		__nPlayerID = PBField.new("nPlayerID", PB_DATA_TYPE.DOUBLE, PB_RULE.REQUIRED, 3, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __nPlayerID
		data[__nPlayerID.tag] = service
		
	var data = {}
	
	var __nItemId: PBField
	func get_nItemId() -> int:
		return __nItemId.value
	func clear_nItemId() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nItemId.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nItemId(value : int) -> void:
		__nItemId.value = value
	
	var __nItemCount: PBField
	func get_nItemCount() -> int:
		return __nItemCount.value
	func clear_nItemCount() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__nItemCount.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nItemCount(value : int) -> void:
		__nItemCount.value = value
	
	var __nPlayerID: PBField
	func get_nPlayerID() -> float:
		return __nPlayerID.value
	func clear_nPlayerID() -> void:
		data[3].state = PB_SERVICE_STATE.UNFILLED
		__nPlayerID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_nPlayerID(value : float) -> void:
		__nPlayerID.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class G2C_UpdateBattlePassState:

	static var proto_name = "G2C_UpdateBattlePassState" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__isGold = PBField.new("isGold", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __isGold
		data[__isGold.tag] = service
		
		__state = PBField.new("state", PB_DATA_TYPE.STRING, PB_RULE.REQUIRED, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.STRING])
		service = PBServiceField.new()
		service.field = __state
		data[__state.tag] = service
		
	var data = {}
	
	var __isGold: PBField
	func get_isGold() -> int:
		return __isGold.value
	func clear_isGold() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__isGold.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_isGold(value : int) -> void:
		__isGold.value = value
	
	var __state: PBField
	func get_state() -> String:
		return __state.value
	func clear_state() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__state.value = DEFAULT_VALUES_2[PB_DATA_TYPE.STRING]
	func set_state(value : String) -> void:
		__state.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class C2S_Task_ReceiveTask:

	static var proto_name = "C2S_Task_ReceiveTask" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nId = PBField.new("nId", PB_DATA_TYPE.INT32, PB_RULE.REQUIRED, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nId
		data[__nId.tag] = service
		
	var data = {}
	
	var __nId: PBField
	func get_nId() -> int:
		return __nId.value
	func clear_nId() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nId.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nId(value : int) -> void:
		__nId.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class C2S_TeamOpt:

	static var proto_name = "C2S_TeamOpt" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nOptType = PBField.new("nOptType", PB_DATA_TYPE.INT32, PB_RULE.OPTIONAL, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.INT32])
		service = PBServiceField.new()
		service.field = __nOptType
		data[__nOptType.tag] = service
		
		__nTargetPlayerID = PBField.new("nTargetPlayerID", PB_DATA_TYPE.DOUBLE, PB_RULE.OPTIONAL, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __nTargetPlayerID
		data[__nTargetPlayerID.tag] = service
		
		__nMiddlePlayerID = PBField.new("nMiddlePlayerID", PB_DATA_TYPE.DOUBLE, PB_RULE.OPTIONAL, 3, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __nMiddlePlayerID
		data[__nMiddlePlayerID.tag] = service
		
		__szExtraInfo = PBField.new("szExtraInfo", PB_DATA_TYPE.BYTES, PB_RULE.OPTIONAL, 4, false, DEFAULT_VALUES_2[PB_DATA_TYPE.BYTES])
		service = PBServiceField.new()
		service.field = __szExtraInfo
		data[__szExtraInfo.tag] = service
		
	var data = {}
	
	var __nOptType: PBField
	func has_nOptType() -> bool:
		if __nOptType.value != null:
			return true
		return false
	func get_nOptType() -> int:
		return __nOptType.value
	func clear_nOptType() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nOptType.value = DEFAULT_VALUES_2[PB_DATA_TYPE.INT32]
	func set_nOptType(value : int) -> void:
		__nOptType.value = value
	
	var __nTargetPlayerID: PBField
	func has_nTargetPlayerID() -> bool:
		if __nTargetPlayerID.value != null:
			return true
		return false
	func get_nTargetPlayerID() -> float:
		return __nTargetPlayerID.value
	func clear_nTargetPlayerID() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__nTargetPlayerID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_nTargetPlayerID(value : float) -> void:
		__nTargetPlayerID.value = value
	
	var __nMiddlePlayerID: PBField
	func has_nMiddlePlayerID() -> bool:
		if __nMiddlePlayerID.value != null:
			return true
		return false
	func get_nMiddlePlayerID() -> float:
		return __nMiddlePlayerID.value
	func clear_nMiddlePlayerID() -> void:
		data[3].state = PB_SERVICE_STATE.UNFILLED
		__nMiddlePlayerID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_nMiddlePlayerID(value : float) -> void:
		__nMiddlePlayerID.value = value
	
	var __szExtraInfo: PBField
	func has_szExtraInfo() -> bool:
		if __szExtraInfo.value != null:
			return true
		return false
	func get_szExtraInfo() -> PackedByteArray:
		return __szExtraInfo.value
	func clear_szExtraInfo() -> void:
		data[4].state = PB_SERVICE_STATE.UNFILLED
		__szExtraInfo.value = DEFAULT_VALUES_2[PB_DATA_TYPE.BYTES]
	func set_szExtraInfo(value : PackedByteArray) -> void:
		__szExtraInfo.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S2CE_TeamOpt:

	static var proto_name = "S2CE_TeamOpt" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nPlayerID = PBField.new("nPlayerID", PB_DATA_TYPE.DOUBLE, PB_RULE.OPTIONAL, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __nPlayerID
		data[__nPlayerID.tag] = service
		
		__msgTeamOpt = PBField.new("msgTeamOpt", PB_DATA_TYPE.MESSAGE, PB_RULE.OPTIONAL, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.MESSAGE])
		service = PBServiceField.new()
		service.field = __msgTeamOpt
		service.func_ref = Callable(self, "new_msgTeamOpt")
		data[__msgTeamOpt.tag] = service
		
	var data = {}
	
	var __nPlayerID: PBField
	func has_nPlayerID() -> bool:
		if __nPlayerID.value != null:
			return true
		return false
	func get_nPlayerID() -> float:
		return __nPlayerID.value
	func clear_nPlayerID() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nPlayerID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_nPlayerID(value : float) -> void:
		__nPlayerID.value = value
	
	var __msgTeamOpt: PBField
	func has_msgTeamOpt() -> bool:
		if __msgTeamOpt.value != null:
			return true
		return false
	func get_msgTeamOpt() -> C2S_TeamOpt:
		return __msgTeamOpt.value
	func clear_msgTeamOpt() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__msgTeamOpt.value = DEFAULT_VALUES_2[PB_DATA_TYPE.MESSAGE]
	func new_msgTeamOpt() -> C2S_TeamOpt:
		__msgTeamOpt.value = C2S_TeamOpt.new()
		return __msgTeamOpt.value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class CE2S_SetTeamID:

	static var proto_name = "CE2S_SetTeamID" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nPlayerID = PBField.new("nPlayerID", PB_DATA_TYPE.DOUBLE, PB_RULE.OPTIONAL, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __nPlayerID
		data[__nPlayerID.tag] = service
		
		__nTeamID = PBField.new("nTeamID", PB_DATA_TYPE.DOUBLE, PB_RULE.OPTIONAL, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __nTeamID
		data[__nTeamID.tag] = service
		
	var data = {}
	
	var __nPlayerID: PBField
	func has_nPlayerID() -> bool:
		if __nPlayerID.value != null:
			return true
		return false
	func get_nPlayerID() -> float:
		return __nPlayerID.value
	func clear_nPlayerID() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nPlayerID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_nPlayerID(value : float) -> void:
		__nPlayerID.value = value
	
	var __nTeamID: PBField
	func has_nTeamID() -> bool:
		if __nTeamID.value != null:
			return true
		return false
	func get_nTeamID() -> float:
		return __nTeamID.value
	func clear_nTeamID() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__nTeamID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_nTeamID(value : float) -> void:
		__nTeamID.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
class S2C_ApplyEnterTeam:

	static var proto_name = "S2C_ApplyEnterTeam" # 类名 

	static var proto_id = 0 # id 

	func _init():
		var service
		
		__nPlayerID = PBField.new("nPlayerID", PB_DATA_TYPE.DOUBLE, PB_RULE.OPTIONAL, 1, false, DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE])
		service = PBServiceField.new()
		service.field = __nPlayerID
		data[__nPlayerID.tag] = service
		
		__szExtraInfo = PBField.new("szExtraInfo", PB_DATA_TYPE.BYTES, PB_RULE.OPTIONAL, 2, false, DEFAULT_VALUES_2[PB_DATA_TYPE.BYTES])
		service = PBServiceField.new()
		service.field = __szExtraInfo
		data[__szExtraInfo.tag] = service
		
	var data = {}
	
	var __nPlayerID: PBField
	func has_nPlayerID() -> bool:
		if __nPlayerID.value != null:
			return true
		return false
	func get_nPlayerID() -> float:
		return __nPlayerID.value
	func clear_nPlayerID() -> void:
		data[1].state = PB_SERVICE_STATE.UNFILLED
		__nPlayerID.value = DEFAULT_VALUES_2[PB_DATA_TYPE.DOUBLE]
	func set_nPlayerID(value : float) -> void:
		__nPlayerID.value = value
	
	var __szExtraInfo: PBField
	func has_szExtraInfo() -> bool:
		if __szExtraInfo.value != null:
			return true
		return false
	func get_szExtraInfo() -> PackedByteArray:
		return __szExtraInfo.value
	func clear_szExtraInfo() -> void:
		data[2].state = PB_SERVICE_STATE.UNFILLED
		__szExtraInfo.value = DEFAULT_VALUES_2[PB_DATA_TYPE.BYTES]
	func set_szExtraInfo(value : PackedByteArray) -> void:
		__szExtraInfo.value = value
	
	func _to_string() -> String:
		return PBPacker.message_to_string(data)
		
	func to_bytes() -> PackedByteArray:
		return PBPacker.pack_message(data)
		
	func from_bytes(bytes : PackedByteArray, offset : int = 0, limit : int = -1) -> int:
		var cur_limit = bytes.size()
		if limit != -1:
			cur_limit = limit
		var result = PBPacker.unpack_message(data, bytes, offset, cur_limit)
		if result == cur_limit:
			if PBPacker.check_required(data):
				if limit == -1:
					return PB_ERR.NO_ERRORS
			else:
				return PB_ERR.REQUIRED_FIELDS
		elif limit == -1 && result > 0:
			return PB_ERR.PARSE_INCOMPLETE
		return result
	
################ USER DATA END #################
